mysql用戶管理
建立一個網站須要鏈接Mysql,默認是root用戶,可是咱們不能老是鏈接root,萬一操做錯誤就會出問題mysql
對於某個數據庫,給user1設定權限 grant all on *.* to 'user1' identified by 'passwd';
mysql> grant all on *.* to 'user' identified by '123'; Query OK, 0 rows affected (0.00 sec)
grant all on *.* to 'user1' @'127.0.0.1' identified by '123456a';
grant:受權 all:全部的權限 *.*:表示全部,第一個*表示庫名 @後面也可寫成%,表示通配,全部的ip 使用的是socket通訊
此時,咱們退出mysql數據庫後再鏈接mysql,出現報錯,由於默認鏈接使用的是socket,當受權是localhost時,能夠直接鏈接mysql
咱們也能夠不用給全部的權限,只給定幾個權限 grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.37.1' identified by 'passwd';
grant all on db1.* to 'user3'@'%' identified by 'passwd';
show grants; //查看全部的受權,當前用戶的受權
show grants for user2@192.168.37.1; //查看指定用戶的受權
經常使用的sql語句
select count(*) from mysql.user; //count(*)表示查找表的行數
select count(*) from mysql.user; //count(*)表示查找表的行數
select * from mysql.db;
select db from mysql.db; //db表示字段
select db,user from mysql.db;
select * from mysql.db where host like '192.168.%'; //模糊匹配
insert into db1.t1 values (1, 'abc'); //name字段abc是字符串,最好加上單引號
update db1.t1 set name='aaa' where id=1;
delete from db1.t1 where id=2; //刪除操做
truncate table db1.t1; //只是清空數據
drop table db1.t1; //全部的數據、結構等全清空
drop database db1; //刪掉數據庫db1
mysql數據庫備份
備份庫 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
恢復庫 mysql -uroot -p123456 mysql < /tmp/mysql.sql
備份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql //庫與表之間用空格分開
恢復表 mysql -uroot -p123456 mysql < /tmp/user.sql //恢復表只須要寫上庫名
備份全部庫 mysqldump -uroot -p123456 -A >/tmp/123.sql //-A表示全部的庫
只備份表結構 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql