Mysql添加用戶和設置權限的操作方法
DCL英文全稱是Data Control Language(數據控制語言),用來管理數據庫用戶、控制數據庫的訪問權限。
一、管理用戶
用戶相關命令:
查詢用戶:select * from mysql.user;
密碼也存在了這張表,但是是加密過的,如果忘記密碼了,可以通過配置設置成免密登錄,然后再進行修改密碼。
其中 Host代表當前用戶訪問的主機, 如果為localhost, 僅代表只能夠在當前本機訪問,是不可以遠程訪問的。 User代表的是訪問該數據庫的用戶名。在MySQL中需要通過Host和User來唯一標識一個用戶。主機名可以使用 % ,代表的就是任何一個主機都能訪問。
往往linux當中安裝mysql,然后使用 其他主機的客戶端 連mysql連不上,就是因為Host配置的是localhost這個原因導致的!
- 創(chuàng)建用戶:
CREATE USER '用戶名'@'主機名' IDENTIFIED BY '密碼';
- 修改用戶密碼:
ALTER USER '用戶名'@'主機名' IDENTIFIED WITH mysql_native_password BY '新密碼' ;
- 刪除用戶:
DROP USER '用戶名'@'主機名' ;
注意事項:
- 在MySQL中需要通過
用戶名@主機名
的方式,來唯一標識一個用戶。 - 主機名可以使用 % 通配。
命令使用示例:
#創(chuàng)建用戶aaa, 只能夠在當前主機localhost訪問, 密碼123456; create user 'aaa'@'localhost' identified by '123456'; #創(chuàng)建用戶bbb, 可以在任意主機訪問該數據庫, 密碼123456; create user 'bbb'@'%' identified by '123456'; #修改用戶bbb的訪問密碼為1234; alter user 'bbb'@'%' identified with mysql_native_password by '1234'; #刪除 aaa@localhost 用戶 drop user 'aaa'@'localhost';
二、權限控制
MySQL中定義了很多種權限,但是常用的就以下幾種:
上述只是簡單羅列了常見的幾種權限描述,其他權限描述及含義,可以直接參考官網:
https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html
命令:
- 查詢權限:
SHOW GRANTS FOR '用戶名'@'主機名' ;
- 授予權限:
GRANT 權限列表 ON 數據庫名.表名 TO '用戶名'@'主機名';
- 撤銷權限:
REVOKE 權限列表 ON 數據庫名.表名 FROM '用戶名'@'主機名';
注意事項:
- 多個權限之間,使用逗號分隔
- 授權時,
數據庫名和表名可以使用 * 進行通配,代表所有
。
命令使用示例:
#查詢 'bbb'@'%' 用戶的權限 show grants for 'bbb'@'%'; #授予 'bbb'@'%' 用戶itcast數據庫所有表的所有操作權限 grant all on itcast.* to 'bbb'@'%'; #撤銷 'bbb'@'%' 用戶的itcast數據庫的所有權限 revoke all on itcast.* from 'bbb'@'%';
MySQL用戶數據和權限有修改后,希望在"不重啟MySQL服務"的情況下直接生效,那么就需要執(zhí)行這個命令。通常是在修改ROOT帳號的設置后,怕重啟后無法再登錄進來,那么直接flush之后就可以看權限設置是否生效。而不必冒太大風險。
flush privileges;
到此這篇關于Mysql添加用戶和設置權限的操作方法的文章就介紹到這了,更多相關Mysql添加用戶和設置權限內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MAC下Mysql5.7+ MySQL Workbench安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了MAC下Mysql5.7+ MySQL Workbench安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06