建立用戶並受權: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;