首頁 > 軟體

Mysql新增使用者和設定許可權的操作方法

2022-07-28 14:03:32

DCL英文全稱是Data Control Language(資料控制語言),用來管理資料庫使用者、控制資料庫的存取許可權。

一、管理使用者

使用者相關命令:

查詢使用者:select * from mysql.user;

密碼也存在了這張表,但是是加密過的,如果忘記密碼了,可以通過設定設定成免密登入,然後再進行修改密碼。

其中 Host代表當前使用者存取的主機, 如果為localhost, 僅代表只能夠在當前本機存取,是不可以遠端存取的。 User代表的是存取該資料庫的使用者名稱。在MySQL中需要通過Host和User來唯一標識一個使用者。主機名可以使用 % ,代表的就是任何一個主機都能存取。

往往linux當中安裝mysql,然後使用 其他主機的使用者端 連mysql連不上,就是因為Host設定的是localhost這個原因導致的!

  • 建立使用者:CREATE USER '使用者名稱'@'主機名' IDENTIFIED BY '密碼';
  • 修改使用者密碼:ALTER USER '使用者名稱'@'主機名' IDENTIFIED WITH mysql_native_password BY '新密碼' ;
  • 刪除使用者:DROP USER '使用者名稱'@'主機名' ;

注意事項:

  • 在MySQL中需要通過使用者名稱@主機名的方式,來唯一標識一個使用者。
  • 主機名可以使用 % 通配。

命令使用範例:

#建立使用者aaa, 只能夠在當前主機localhost存取, 密碼123456;
create user 'aaa'@'localhost' identified by '123456';

#建立使用者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服務"的情況下直接生效,那麼就需要執行這個命令。通常是在修改ROOT帳號的設定後,怕重啟後無法再登入進來,那麼直接flush之後就可以看許可權設定是否生效。而不必冒太大風險。

flush privileges;

到此這篇關於Mysql新增使用者和設定許可權的操作方法的文章就介紹到這了,更多相關Mysql新增使用者和設定許可權內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com