首頁  >  文章  >  資料庫  >  Mysql如何新增使用者和設定權限

Mysql如何新增使用者和設定權限

PHPz
PHPz轉載
2023-05-27 23:46:184446瀏覽

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

一、管理使用者

使用者相關指令:

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

表中有加密後的密碼,如果忘記密碼,可以透過設定實現免密登錄,並進行修改密碼。

Mysql如何新增使用者和設定權限

其中 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中定義了很多種權限,但常用的就以下幾種:

Mysql如何新增使用者和設定權限

#指令:

  • #查詢權限: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如何新增使用者和設定權限的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除