語法:
GRANT 權限 ON 庫.表 TO '用戶名'@'主機名' IDENTIFIED BY '密碼';
權限包括:
SELECT 查詢
INSERT 添加
DEELTE 刪除
UPDATE 修改
庫:
庫名.表名
. 表示所有庫和所有表
用戶名和主機名:
用戶名自己取,但一般根據職務不同,分配的名字都具有意義,比如李哥團隊,li_user1..
主機名,本地的是使用localhost即可,遠程的需要知道遠程服務器的IP地址。
密碼:
一般密碼都是有意義並且復雜性奇高的,基本外人感覺就是亂碼,常用的是md5加密,復雜性越高,別人相對的越不容易破解。
1 -- 給李哥團隊分配所有庫所有表設置查詢權限 2 GRANT SELECT ON *.* TO 'li_user1'@'localhost' IDENTIFIED BY 'lige123'; 3 -- 給李哥團隊的小弟小李子分配test庫的查詢權限 4 GRANT SELECT ON test.* TO 'li_user2'@'localhost' IDENTIFIED BY 'lige123';
查詢所有用戶
在mysql數據庫有,本身就有一個mysql的庫,里面有一張表叫user表,存放了數據庫所有的用戶
名,它的字段是user,host,查詢這兩個字段,即可查詢出所有的用戶。
1 SELECT user,host FROM mysql.user;
刪除普通用戶
當一個員工離職,我們需要刪除對應的普通用戶,再分配新的用戶權限給它。
語法:
DROP USER '用戶名'@'主機名';
1 -- 刪除李哥團隊小李子的用戶名 2 DROP USER'li_user2'@'localhost';
修改數據庫密碼
當我們的密碼暴露了或者感覺不安全了,可以進行修改。
修改ROOT管理員密碼
語法:
SET PASSWORD = PASSWORD('新密碼');
1 -- 新密碼使用mysql提供的password函數進行更改。 2 SET PASSWORD = PASSWORD('root');
ROOT修改普通用戶密碼
語法:
SET PASSWORD FOR '用戶名'@'主機名'=PASSWORD('新密碼');
1 -- 修改李哥團隊的密碼為lige456 2 SET PASSWORD FOR 'li_user1'@'localhost'=PASSWORD('lige456');
授權
授權的意思是,將自己某些權限給別人使用。
語法:
GRANT 權限 ON 庫名.表名 TO ’用戶名‘@'主機名' IDENTIFIED BY '密碼';
1 -- 給大米團隊所有權限,密碼123456 2 GRANT ALL ON *.* TO 'dami'@'localhost' IDENTIFIED BY '123456';
查看和權限收回
發現給大米團隊的權限太高了,需要收回權限。
查看權限
語法:
SHOW GRANTS FOR '用戶名'@‘主機名’
1 -- 查看大米團隊的權限,注意:查看權限GRANTS后面有個復數S 2 SHOW GRANTS FOR 'dami'@'localhost';
收回權限
語法:
REVOKE 要收回的權限 ON 庫名.表名 FROM '用戶名'@'主機名';
1 -- 收回大米團隊的刪除權限 2 REVOKE DELETE ON *.* FROM 'dami'@'localhost';
數據的導出和導入
導出數據庫
注意:此語句沒有分號
語法:
mysqldump -u 用戶名 -p 庫名 表名> 保存路徑
1 -- 導出整個test庫 2 mysqldump -uroot -p test>C:\31.sql 3 Enter password:***** 4 -- 只導出test庫的其中一張表 5 mysqldump -uroot -p test t6>C:\31.sql
導入數據庫
首先必須准備一個空的數據庫
語法:
mysql -u用戶名 -p 庫名 < 保存的路徑
1 ysql -uroot -p ss28 <c:\ss31.sql