day 54 mysql用戶管理及數據庫備份

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並運行即可
13.5 常用sql語句

  • 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
13.6 MySQL數據庫的備份與恢復

  • 備份庫: 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章