今天看了下老男孩老师的《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;