今天看了下老男孩老师的《mysql数据库常用命令分享》,突然想起自己当初从一点基础都没有,到现在会那么一点皮毛了,现在把自己汇总的命令分享给大家,命令都是本人亲自实践过的,不是网上的复制粘贴。
#常用命令#
导出整个数据库结构和数据
mysqldump -uroot -p123456 database > dump.sql
导出单个数据表结构和数据
mysqldump -uroot -p123456 database tablename > tablename.sql
导出整个数据库结构(不包含数据,-d参数)
mysqldump -d -uroot -p123456 database > dump.sql
导出单个数据表结构(不包含数据)
mysqldump -d -uroot -p123456 database table > dump.sql
导出整个数据库数据(不包含结构,-t参数)
mysqldump -t -uroot -p123456 database > dump.sql
导出部分表数据(忽略几张表,连同结构都会忽略,--ignore-table参数)
mysqldump -uroot -p123456 --ignore-table=database.tablename --ignore-table=database.tablename --ignore-table=database.tablename database > database.sql
以一行一行形式导出数据(--skip-extended-insert参数)
mysqldump -uroot -p123456 --skip-extended-insert databae tablename >dump.sql
导出数据库(记录:file和position记录的位置就是slave从master端复制文件的起始位置,此参数一般用于同步,--master-data=1参数)
mysqldump -uroot -p --master-data=1 database > database.sql
根据某个条件导出数据(-w参数)
mysqldump -uroot -p123456 database table -w"条件语句(where后面的sql语句)">dump.sql
脚本自动执行source命令方法(-e参数)
mysql(注意:是mysql,而不是mysqldump) -uroot -p123456 database -e "source xxx.sql"
删除权限
REVOKE privileges ON 数据库名[.表名] FROM user_name
--ex:revoke select,lock tables on reed.* from reed@localhost identified by "reed";
更改表字段
alter table 表名 modify 字段 varchar(20);
删除字段
ALTER TABLE 表名 drop 字段;
更新表
update 表 set 字段 where 条件
加主键
alter table 表名 add PRIMARY KEY (`字段`);
调整字段顺序
ALTER TABLE `t_trans_jnl_his` CHANGE `b45` `b45` varchar(79) after `extradata`(把b45字段放到extradata字段后面);
添加远程主机访问数据库权限
grant 权限 on 数据库名.表 to 用户名@'远程主机IP' identified by "密码";
--ex1:grant select,insert,update,delete on dbebs.* to username@'172.16.30.15' identified by "password";
--ex2:grant ALL PRIVILEGES on dbebs.* to username@'172.16.30.15' identified by "password";
修改用户密码
1)Mysqladmin –uroot –p password ''
2)mysql> use mysql;
mysql> update user set password=password('test') where user='root';
mysql> flush privileges;
添加双机热备所需的用户、权限
GRANT REPLICATION SLAVE ON *.* TO '用户名'@'对端IP' IDENTIFIED BY '密码';
GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO '用户名'@'对端IP' IDENTIFIED BY '密码';
添加用户查询、导数据权限
grant select,lock tables,file on *.* to reed@localhost identified by "reed";
统计字符串长度
select id,name,hkMerchantNo,char_length(hkMerchantNo) from merch order by length(hkMerchantNo) desc limit 20;
--转自