首頁 > 軟體

mysql使用者建立與授權的簡單範例

2022-03-29 19:02:28

前言

mysql預設安裝的時候是有一個root使用者,這個使用者有最高許可權,如果要開放資料庫裡面的資料給別人使用的話,一般是不會開放root使用者給別人的,正常會建立新的使用者給別人使用,這個使用者的許可權就可以自己進行控制了

一、使用者

建立使用者

命令

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

引數說明:

(1)username:自己想要建立的使用者名稱

(2)host:可以連線到這個資料的主機地址,如果想要任意主機都可以連線到這臺伺服器的話,可以使用萬用字元%

(3)password:使用者登入的密碼

案例

建立使用者:zs,密碼:123,主機:196.168.64.12

CREATE USER 'zs'@'196.168.64.12' IDENTIFIED BY '123';

建立使用者:zs,密碼:123,任意主機都可以登入該資料庫

CREATE USER 'zs'@'%' IDENTIFIED BY '123';

注意:如果要設定一個使用者可以有多個ip進行登入存取的話,只需要重複案例(1)的做法即可,賬號和密碼都一樣,主機ip不同即可

編輯使用者

建立好使用者後,如果要修改使用者密碼的話可以進行下面的操作

命令

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

例如

SET PASSWORD FOR 'zs'@'196.168.64.12' = PASSWORD("123456");

如果是當前登入使用者可以使用下面的命令

SET PASSWORD = PASSWORD("123456");

刪除使用者

如果想刪除建立的使用者可以使用下面的命令

drop user '使用者名稱'@'ip';

例如:

drop user 'zs'@'192.168.92.14';

二、許可權

授權

命令

GRANT privileges ON databasename.tablename TO 'username'@'host'

注意:

(1)privileges:使用者的操作許可權,如SELECT,INSERT,UPDATE,DELETE等,如果要授予所的許可權則使用ALL

(2)databasename:資料庫名

(3)tablename:資料庫表,如果要授予該使用者對所有資料庫和表的相應操作許可權則可用*表示,如*.*

(4)username:要授權的使用者

(5)host:ip

例子

給使用者zs,授予資料庫test1裡面的使用者表user增刪改查的許可權

GRANT ALL ON test1.user TO 'ZS'@'192.169.12.12';

給使用者zs,授予資料庫test1裡面的使用者表user查改的許可權

GRANT SELECT,UPDATE ON test1.user TO 'ZS'@'192.169.12.12';

給使用者zs,授予資料庫裡面所有表的所有許可權

GRANT ALL ON *.*  TO 'ZS'@'192.169.12.12';

復原許可權

命令

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

注意:

(1)privileges:使用者的操作許可權,如SELECT,INSERT,UPDATE,DELETE等,如果要授予所的許可權則使用ALL

(2)databasename:資料庫名

(3)tablename:資料庫表,如果要授予該使用者對所有資料庫和表的相應操作許可權則可用*表示,如*.*

(4)username:要授權的使用者

(5)host:ip

例子

給使用者zs,授予資料庫test1裡面的使用者表user查改的許可權後,想復原該許可權

REVOKE SELECT,UPDATE ON test1.user TO 'ZS'@'192.169.12.12';

三、其他命令

檢視資料庫中的所有使用者

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

檢視資料庫中具體某個使用者的許可權

show grants for 'cactiuser'@'%';    

設定與更改使用者密碼

SET PASSWORD FOR ‘username’@’host’ = PASSWORD(‘newpassword’);

如果是當前登陸使用者用:

SET PASSWORD = PASSWORD(“newpassword”);

mysql> SET PASSWORD FOR 'finley'@'%' = PASSWORD("123456");

總結

到此這篇關於mysql使用者建立與授權的文章就介紹到這了,更多相關mysql使用者建立授權內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


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