建立用户并受权:mysql
grant all on *.* to '用户名'@'ip' identified by '密码' //all是操做权限,*.*是库.表,指定格式是'用户名'@'localhost'才能用socket登陆本地
grant SELECT,UPDATE,INSERT on db1.* to 'lgs'@'192.168.87.128' identified by '123456'; //能不加-h指定ip
查看全部受权:复制一个用户是否可用,能够先查看他的受权sql
show grant for '用户名'@'ip';
统计指定表的数据行数:数据库
select count(*) from mysql.user; //MyISAM引擎统计行很快,Innodb统计行耗时
查看db表的全部数据内容:少用*,耗资源socket
select * from mysql.db\G // 纵向显示
查看db表的db字段:ide
select db from mysql.db;
查看多个字段:code
select db,user from mysql.db; //用逗号分隔
like模糊匹配:查找host字段为192.168.*.*的全部行数据ip
select * from mysql.db where host like '192.168.%'\G; // %匹配
插入表t1一行数据:资源
insert into db1.t1 values (1,'abc');
修改字段值 id=1对应的name字段:table
update db1.t1 set name='aaa' where id=1;
删除数据行:id=2的行登录
delete from db1.t1 where id=2;
清空一个表的数据,表结构还在:
truncate db1.t1;
丢弃表:数据与表结构都删除
drop table db1.t1;
丢弃一个库:
drop database db1; //整个数据库都删除,包括结构与数据
小数据量的数据库使用
备份库到文件:
mysqldump -uroot -p123456 mysql1库名 >/tmp/bak.sql; //备份mysql1库的数据重定向到备份文件
恢复库:
mysql -uroot -p123456 mysql2库名 </tmp/bak.sql; //把备份库文件数据恢复(填充)到mysql2库中
备份表:
mysqldump -uroot -p123456 mysql.user >/tmp/user.sql; //备份mysql库的user表到备份文件
恢复表:
mysql -uroot -p123456 mysql </tmp/user.sql; //只用写库名mysql,能够不用写表名
备份全部库:
mysqldump -uroot -p123456 -A >/tmp/all.sql; //用-A选项
只备份表结构:
mysqldump -uroot -p123456 -d mysql库名 >/tmp/mysql.sql;