13.4 mysql用戶管理
- grant all on *.* to 'user1' identified by '123456'; #登錄mysql後,創建user1用戶並授權,“all”代表所有的權限,比如SELECT、INSERT、DROP等,第一個“*”代表所有的庫,後面的“.*”代表所有的表,合起來即是所有庫的所有的表,用戶的密碼爲“123456”,創建用戶後若以該用戶登錄,則需要指定“-h127.0.0.1”,因默認是socket連接的,命令:grant all on *.* to 'user1' @'localhost' identified by '123456'; 創建對應socket可直接登錄
- grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd'; #創建用戶user2,授予指定的權限,針對db1庫的所有表,並指定客戶端IP,即該用戶只能通過指定的IP(來源IP)登錄服務器
- grant all on db1.* to 'user3'@'%' identified by 'passwd'; #創建用戶user3,賦予所有權限,針對db1庫的所有表,來源IP爲所有IP,“%”代表通配所有IP
- show grants; #查看當前登錄用戶的授權
- show grants for [email protected]; #查看指定用戶的授權,若同樣的用戶及權限要增加另一個IP,使之可以從該IP登錄,直接複製命令的兩行結果,修改IP並運行即可
- select count(*) from mysql.user; #查看mysql庫的user表的行數,在當前庫下也可查詢其它庫的表的相關數據
- select * from mysql.db\G; #查看mysql庫的user表的所有內容
- select db from mysql.db; #查看mysql庫的user表的db字段
- select db,user from mysql.db; #查看mysql庫的user表的db字段和user字段
- select * from mysql.db where host like '192.168.%\G'; #模糊查詢
- insert into db1.t1 values (1, 'abc'); #給db1庫的t1表插入字段值
- delete from db1.t1 where id=1; #刪除字段中id=1的所在字段
- update db1.t1 set name='aaa' where id=1; #更改字段值
- truncate table db1.t1; #清空表t1的內容,命令:“desc db1.t1;”查看,表結構還存在,僅僅是內容被清空
- drop table db1.t1; #刪除表的內容,包括表的結構
- drop database db1; #刪除數據庫db1
- 備份庫: mysqldump -uroot -p123456 mysql > /tmp/mysql.sql #備份mysql庫
- 恢復庫: mysql -uroot -p123456 mysql < /tmp/mysql.sql
- 備份表: mysqldump -uroot -p123456 mysql user > /tmp/user.sql #把mysql庫裏的user表備份
- 恢復表: mysql -uroot -p123456 mysql < /tmp/user.sql #恢復表只需指定庫名即可,無需指定表名
- 備份所有數據庫: mysqldump -uroot -p123456 -A >/tmp/123.sql
- 只備份表結構,不備份數據: mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql