一、資料庫用戶管理
1.1新建用戶
CREATE USER '用戶名'@'來源地址' [IDENTIFIED BY [PASSWORD] '密碼'];
'用戶名':指定將創建的用戶名
'來源地址':指定新創建的用戶可在哪些主機上登錄,可使用IP地址、網段、主機名的形式,本地用戶可用localhost,允許任意主機登錄可用通配符%
'密碼':若使用明文密碼,直接輸入'密碼',插入到資料庫時由Mysql自動加密;
若使用加密密碼,需要先使用SELECT PASSWORD('密碼'); 獲取密文,再在陳述句中添加 PASSWORD '密文';
若省略“IDENTIFIED BY”部分,則用戶的密碼將為空(不建議使用)
CREATE USER 'user1'@'localhost' IDENTIFIED BY '123456'; ##明文密碼創建 SELECT PASSWORD('abc123'); ###先查出密碼對應的密文 CREATE USER 'user2'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'; ###使用加密密碼創建

1.2查看用戶資訊
創建后的用戶保存在 mysql 資料庫的 user 表里
USE mysql;
SELECT User,authentication_string,Host from user;

1.3重命名用戶
rename user 'user1'@'localhost' to 'fzr'@'localhost';

1.4洗掉用戶
drop user 'user2'@'localhost';

1.5修改當前登錄用戶密碼
set password = password('12345');

1.6修改其他用戶密碼
set password for 'user1'@'localhost' = password('abc1234');

1.7忘記 root 密碼的解決辦法
(1)修改 /etc/my.cnf 組態檔,不使用密碼直接登錄到 mysql
vim /etc/my.cnf [mysqld] skip-grant-tables #添加,使登錄mysql不使用授權表 systemctl restart mysqld mysql #直接登錄



(2)使用 update 修改 root 密碼,重繪資料庫
UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('abc123') where user='root'; FLUSH PRIVILEGES; quit mysql -u root -pabc123


二、資料庫用戶授權
2.1授予權限
GRANT陳述句:專門用來設定資料庫用戶的訪問權限,當指定的用戶名不存在時,GRANT陳述句將會創建新的用戶;當指定的用戶名存在時,GRANT 陳述句用于修改用戶資訊,
GRANT 權限串列 ON 資料庫名.表名 TO '用戶名'@'來源地址' [IDENTIFIED BY '密碼'];
- #權限串列:用于列出授權使用的各種資料庫操作,以逗號進行分隔,如“select,insert,update”,使用“all”表示所有權限,可授權執行任何操作,
- #資料庫名.表名:用于指定授權操作的資料庫和表的名稱,其中可以使用通配符“”,例如,使用“bbc.”表示授權操作的物件為 bbc資料庫中的所有表,
- #'用戶名@來源地址':用于指定用戶名稱和允許訪問的客戶機地址,即誰能連接、能從哪里連接,來源地址可以是域名、IP 地址,還可以使用“%”通配符,表示某個區域或網段內的所有地址,如“%.bbc.com”、“192.168.229.%”等,
- #IDENTIFIED BY:用于設定用戶連接資料庫時所使用的密碼字串,在新建用戶時,若省略“IDENTIFIED BY”部分, 則用戶的密碼將為空,
(1)允許用戶fzr在本地查詢 learn 資料庫中kecheng表的資料記錄,但禁止查詢其他資料庫中的表的記錄,
grant select on njzb.ky23 to 'fzr'@'localhost' identified by 'abc123';



2.2查看權限
SHOW GRANTS FOR 用戶名@來源地址;
例:
SHOW GRANTS FOR 'zzj'@'%';


2.3撤銷權限
REVOKE 權限串列 ON 資料庫名.表名 FROM 用戶名@來源地址;
例:
REVOKE ALL ON *.* FROM 'fzr'@'%'; SHOW GRANTS FOR 'fzr'@'%'; #USAGE權限只能用于資料庫登陸,不能執行任何操作;USAGE權限不能被回收,即 REVOKE 不能洗掉用戶, flush privileges;



轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/538239.html
標籤:其他
上一篇:MYSQL索引
下一篇:MYSQL索引
