首頁 >資料庫 >mysql教程 >mysql實作新增使用者並授權

mysql實作新增使用者並授權

王林
王林轉載
2020-01-26 21:10:1720502瀏覽

mysql實作新增使用者並授權

查詢所有使用者

方式1:

mysql> select host, user, password from mysql.user;               -- 5.7版本之前的
mysql> select host, user, authentication_string from mysql.user;  -- 5.7版本之后的,包括5.7

方式2:

mysql> select distinct concat('User: ''',user,'''@''',host,''';') as query from mysql.user;

查詢使用者權限

all表示所有權限

select表示只查權限

update表示只改權限

delete表示只刪權限等。

(線上學習影片教學推薦:mysql影片教學

方式1:

mysql> show grants for "user"@"host";
mysql> show grants for "root"@"localhost";

方式2:

mysql> select * from mysql.user where user='root'\G;

新增授權用戶(新建立的用戶,預設是沒有任何權限的):使用root用戶登入資料庫

指令格式如下:

mysql> create user "用户名"@"IP地址" identified by "密码";
mysql> create user "haidon" identified by "123456";       -- 此时密码为123456,host值为%。
mysql> create user "haidon"@"%" identified by "123456";   -- 此时密码为123456

分配使用者權限(給使用者授權)

指令格式如下:

mysql> grant 权限类型 on 数据库名.表名 to '用户名'@'ip地址' identified by '用户密码' with grant option;

常用的權限類型有以下幾種:

all privileges:所有權限。
select:讀取權限。
create:建立權限。
delete:刪除權限。
update:更新權限。
drop:刪除資料庫、資料表權限。

允許存取所有資料庫下的所有表

mysql> grant all privileges on *.* to '用户名'@'指定ip' identified by '用户密码' ;

允許存取指定資料庫下的所有表

mysql> grant all privileges on test.* to '用户名'@'指定ip' identified by '用户密码' ;

允許存取指定資料庫下的指定表

mysql> grant all privileges on test.test to '用户名'@'指定ip' identified by '用户密码' ;
 
mysql> grant all privileges on tornado.* to 'haidon'@'%' identified by '123456';

收回使用者權限(使用root使用者操作)

mysql> revoke select on tornado.* from "haidon"@"%";
mysql> revoke all on tornado.* from "haidon"@"%";

刪除授權使用者

mysql> drop user "haidon"@"%";                      -- 删除方法1
mysql> delete from mysql.user where user="haidon";  -- 删除方法2

#刷新權限

mysql> flush privileges;

相關文章教學推薦:mysql教學

#

以上是mysql實作新增使用者並授權的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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