欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何添加一個mysql用戶并給予權(quán)限詳解

 更新時間:2023年03月01日 08:58:04   作者:xiao__xf  
在很多時候我們并不會直接利用mysql的root用戶進行項目的開發(fā),一般我們都會創(chuàng)建一個具有部分權(quán)限的用戶,下面這篇文章主要給大家介紹了關(guān)于如何添加一個mysql用戶并給予權(quán)限的相關(guān)資料,需要的朋友可以參考下

一、新建一個用戶

老板:給我新建一個用戶joytom,密碼設(shè)置為123321,并任意遠程主機都能訪問,五分鐘完成,實現(xiàn)不了就給我提桶走人!

小王會心一笑,對創(chuàng)建用戶的命令早已滾瓜爛熟了,于是熟練的操作了起來:

1、創(chuàng)建用戶命令:

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

2、創(chuàng)建用戶

mysql> create user 'hh'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

查看一下是否創(chuàng)建成功: 

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| caona            | %         |
| hh               | %         |
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

二、為用戶授權(quán)

創(chuàng)建完用戶后……

老板:好,比以前有進步了,那你再給joytom這個用戶設(shè)置一個權(quán)限,只允許查詢和修改copytest數(shù)據(jù)庫中的student表。

小王信手拈來,又熟練的操作了一波:

1、給用戶授權(quán)命令

grant privileges on database.tablename to “username”@'host';

privileges:用戶的操作權(quán)限,如 SELECT,INSERT,UPDATE 等,如果要授予所的權(quán)限則使用 ALL。

 2、給 hh 用戶授可查、改的權(quán)限。

mysql> grant select,update on mysql.user to 'hh'@'%';
Query OK, 0 rows affected (0.02 sec)

3、在給 hh用戶增加一個查看視圖的權(quán)限,并刷新

mysql> grant SHOW VIEW on mysql.user to 'hh'@'%';
Query OK, 0 rows affected (0.01 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

三、撤銷用戶權(quán)限

老板:咳咳,很好,現(xiàn)在 joytom 不是有三個權(quán)限了么(查詢,修改,查詢視圖),那你把查詢視圖的權(quán)限給去掉,只留查詢和修改。

小王心中暗喜,這我都學了,很基礎(chǔ)的啊……

1、撤銷用戶權(quán)限命令

revoke privileges ON database.tablename FROM ‘username‘@'host';

撤銷(revoke)的和授予(grant)的基本一樣,除了 revoke(對應(yīng) grant)和 from(對應(yīng) to)

2、撤銷 joytom 用戶的查看視圖的權(quán)限

mysql> revoke SHOW VIEW on mysql.user from 'hh'@'%';
Query OK, 0 rows affected (0.01 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

再次查看: 

 mysql> show grants for 'hh'@'%';
+----------------------------------------------------+
| Grants for hh@%                                    |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `hh`@`%`                     |
| GRANT SELECT, UPDATE ON `mysql`.`user` TO `hh`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)

發(fā)現(xiàn)已經(jīng)沒了查看視圖的權(quán)限。

grant, revoke 用戶權(quán)限后,該用戶只有重新連接 MySQL 數(shù)據(jù)庫,權(quán)限才能生效。

四、刪除一個用戶

老板:把 joytom 這個用戶刪掉讓我看看。

小王:好嘞,40 秒完事。

1、刪除用戶命令

drop user username@host

2、刪除用戶

先查看一下現(xiàn)在的所有用戶:

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| caona            | %         |
| hh               | %         |
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

 刪除 hh:

mysql> drop user hh@'%';
Query OK, 0 rows affected (0.01 sec)

再次查看,發(fā)現(xiàn)已經(jīng)沒了 joytom 這個用戶:

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| caona            | %         |
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

五、修改用戶的密碼

老板:把 joytom 這個用戶密碼修改一下。

小王:好嘞老板。

mysql5.*版本使用如下語句:

要想為匿名賬戶指定密碼,可以使用SET PASSWORD或UPDATE。在兩種情況中,一定要使用PASSWORD()函數(shù)為密碼加密

在Windows/Unix中使用PASSWORD的方法:

mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'%' = PASSWORD('newpwd');

為匿名賬戶指定密碼的另一種方法是使用UPDATE直接修改用戶表。

在Windows和Unix中的過程是相同的。

下面的UPDATE語句同時為兩個匿名賬戶指定密碼:

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') WHERE User = '';
mysql> FLUSH PRIVILEGES;

mysql8.*版本使用如下語句:

1、 修改用戶登錄密碼

?ALTER USER 'caona'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123456';

六、密碼過期和鎖定用戶

老板大喜:非常好非常好,加薪 2k,繼續(xù)努力,另外給其它同事講一下密碼過期和鎖定用戶的問題。

感謝老板,我會繼續(xù)努力,我這就去整理一下課件。

1、關(guān)于密碼過期

在 MySQL5.6.6 版本起,增加了 password_expired 功能,它允許設(shè)置 MySQL 數(shù)據(jù)庫用戶的密碼過期時間。這個特性已經(jīng)添加到 mysql.user 數(shù)據(jù)表,它的默認值是”N”,表示已禁用密碼過期功能

強制設(shè)置為密碼過期:

強制設(shè)置密碼過期后,雖然能夠登陸,但是一切權(quán)限都為空了。

2、關(guān)于 mysql5.7 鎖定用戶

在創(chuàng)建的時候鎖定用戶:

已存在的時候鎖定用戶:

解鎖賬號:

七、權(quán)限常用關(guān)鍵字

老板:現(xiàn)在你對 mysql 的權(quán)限管理掌握的還算可以了,咳咳,今天下班前給我整理一個權(quán)限常用關(guān)鍵字,整理不好就加會班吧。

小王想,幸虧這個我在學的時候就已經(jīng)整理過啊,看樣今天不用加班了!

權(quán)限

意義

ALL [PRIVILEGES]

設(shè)置除GRANT OPTION之外的所有簡單權(quán)限

ALTER

允許使用ALTER TABLE

ALTER ROUTINE

更改或取消已存儲的子程序

CREATE

允許使用CREATE TABLE

CREATE ROUTINE

創(chuàng)建已存儲的子程序

CREATE TEMPORARY TABLES

允許使用CREATE TEMPORARY TABLE

CREATE USER

允許使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。

CREATE VIEW

允許使用CREATE VIEW

DELETE

允許使用DELETE

DROP

允許使用DROP TABLE

EXECUTE

允許用戶運行已存儲的子程序

FILE

允許使用SELECT...INTO OUTFILE和LOAD DATA INFILE

INDEX

允許使用CREATE INDEX和DROP INDEX

INSERT

允許使用INSERT

LOCK TABLES

允許對您擁有SELECT權(quán)限的表使用LOCK TABLES

PROCESS

允許使用SHOW FULL PROCESSLIST

REFERENCES

未被實施

RELOAD

允許使用FLUSH

REPLICATION CLIENT

允許用戶詢問從屬服務(wù)器或主服務(wù)器的地址

REPLICATION SLAVE

用于復制型從屬服務(wù)器(從主服務(wù)器中讀取二進制日志事件)

SELECT

允許使用SELECT

SHOW DATABASES

SHOW DATABASES顯示所有數(shù)據(jù)庫

SHOW VIEW

允許使用SHOW CREATE VIEW

SHUTDOWN

允許使用mysqladmin shutdown

SUPER

允許使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL語句,mysqladmin debug命令;允許您連接(一次),即使已達到max_connections。

UPDATE

允許使用UPDATE

USAGE

“無權(quán)限”的同義詞

GRANT OPTION

允許授予權(quán)限

總結(jié)

到此這篇關(guān)于如何添加一個mysql用戶并給予權(quán)限的文章就介紹到這了,更多相關(guān)添加mysql用戶并給權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論