MySQL建立使用者與授權方法

2021-07-05 09:13:31 字數 2714 閱讀 1753

-- 建立使用者 ---單個資料庫授權 

create user 'testone'@'localhost' identified by '123';

grant all privileges on testone.* to testone ;

-- 建立使用者2

create user 'testtwo'@'localhost' identified by '123';

grant all privileges on *.* to testtwo@'localhost';

grant all privileges on *.* to testtwo@'localhost';

-- 授予使用者 遠端訪問 (啟用遠端訪問後備份的時候localhost失效)

grant all privileges on *.* to wlliuxue@'%' identified by '123' with grant option;

flush privileges;

grant all privileges on *.* to testone@'192.168.1.126' identified by '123' with grant option;

flush privileges;

grant all privileges on *.* to root@'%' identified by '123' with grant option;

flush privileges;

注意:新版本中 to 'username'@'host' 中單引號是必須的

一, 建立使用者: 

命令:

create user 'username'@'host' identified by 'password';
說明:username - 你將建立的使用者名稱, host - 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost, 如果想讓該使用者可以從任意遠端主機登陸,可以使用萬用字元%. password - 該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登陸伺服器. 

例子: create user 'dog'@'localhost' identified by '123456'; 

create user 'pig'@'192.168.1.101_' idendified by '123456';

create user 'pig'@'%' identified by '123456';

create user 'pig'@'%' identified by '';

create user 'pig'@'%';

二,授權: 

命令:

grant privileges on databasename.tablename to 'username'@'host'
說明: privileges - 使用者的操作許可權,如select , insert , update 等(詳細列表見該文最後面).如果要授予所的許可權則使用all.;databasename - 資料庫名,tablename-表名,如果要授予該使用者對所有資料庫和表的相應操作許可權則可用*表示, 如*.*. 

例子: grant select, insert on test.user to 'pig'@'%'; 

grant all on *.* to 'pig'@'%';

注意:用以上命令授權的使用者不能給其它使用者授權,如果想讓該使用者可以授權,用以下命令: 

grant privileges on databasename.tablename to 'username'@'host' with grant option;
三.設定與更改使用者密碼 

命令:set password for 'username'@'host' = password('newpassword');

如果是當前登陸使用者用set password = password("newpassword");

例子: set password for 'pig'@'%' = password("123456");

四.撤銷使用者許可權 

命令: revoke privilege on databasename.tablename from 'username'@'host'; 

說明: privilege, databasename, tablename - 同授權部分.

例子: revoke select on *.* from 'pig'@'%'; 

注意: 假如你在給使用者'pig'@'%'授權的時候是這樣的(或類似的):grant select on test.user to 'pig'@'%', 則在使用revoke select on *.* from 'pig'@'%';命令並不能撤銷該使用者對test資料庫中user表的select 操作.相反,如果授權使用的是grant select on *.* to 'pig'@'%';則revoke select on test.user from 'pig'@'%';命令也不能撤銷該使用者對test資料庫中user表的select 許可權. 

具體資訊可以用命令show grants for 'pig'@'%'; 檢視. 

五.刪除使用者 

命令: drop user 'username'@'host'; 

mysql建立使用者與授權方法

一,建立使用者 命令 create user username host identified by password 說明 username 你將建立的使用者名稱,host 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,如果想讓該使用者可以從任意遠端主機登陸,可以使用萬...

MySQL建立使用者與授權方法

我的執行環境是red hat 6.5 mysql 5.7.18 一 建立使用者 命令 create user username host identified by password 說明 username 你將建立的使用者名稱,host 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用loc...

MySQL建立使用者與授權方法

一,建立使用者 命令 create user username host identified by password 說明 username 你將建立的使用者名稱,host 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,如果想讓該使用者可以從任意遠端主機登陸,可以使用萬...