極簡·MySQL用戶與權限操作

一、 用戶操作

1.1 新建用戶

create user '用戶名'@'host' identified by '密碼';
  • host = localhost 爲本地登錄用戶
  • host = ip 爲運行某個ip地址登錄
  • host = % 爲允許任意外網ip登錄

這樣我就創建了一個名爲dalao的用戶,並且它可以從任意ip登錄

1.2 查看所有用戶

 select host,user,authentication_string from mysql.user;

1.3 登錄

mysql -u 用戶名 -p


二、權限操作

2.1 授權

grant all privileges on *.* to '用戶名'@'%' identified by '密碼';
  • priveleges(權限列表),all priveleges表示所有權限,也可以是:
    - select、update、create、delete、drop等權限,多個權限之間用逗號分開
  • on用來指定權限針對哪些庫和表。
  • 前面的 * 號用來指定數據庫名
  • 後面的 * 號用來指定表名
  • identified by指定用戶登錄密碼,可省略
  • to 表示將權限賦予某個用戶, 如 dalao@‘localhost’ 表示dalao用戶
  • @後跟限制地址,可以是IP、域名與%(任何地方)
  • identified by指定用戶的登錄密碼,該項可以省略。

只有root用戶纔有權限進行授權操作

我們授予dalao用戶對所有數據庫所有表的所有操作權限

2.2 查看

  1. 查看所有用戶權限
show grants;
  1. 查看指定用戶權限
show grants for '用戶名'@'%';

三、示例

  1. 例1

新建用戶user_test,僅授予select權限

create user 'user_test'@'%'identified by '999';

grant select on *.* to 'user_test'@'%';

使用user_test登錄,創建數據庫test_db

create database test_db;

可以發現被拒絕了

嘗試查詢

可以發現查詢是沒問題的
  1. 例2
    新建用戶test_4,授予select,create權限
create user 'test_4'@'%' identified by '999';

grant select,create on *.* to 'test_4'@'%';


使用test_4登錄,創建數據庫test_db

create database test_db;

可以發現是沒問題的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章