首頁  >  文章  >  資料庫  >  詳解MySQL建立資料庫與建立使用者以及授權

詳解MySQL建立資料庫與建立使用者以及授權

PHP中文网
PHP中文网原創
2017-06-21 13:25:381305瀏覽

1.透過mysql資料庫的user表查看使用者相關資訊

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host,user,password from user ;+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *87F2746835A04895BB77E12AA5054A767******* |
| qxyw      | root |                                           |
| 127.0.0.1 | root |                                           |
| localhost |      |                                           |
| qxyw      |      |                                           |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)


#2.建立資料庫

mysql> create database [databasename] default character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

# #3.建立使用者

mysql> create user 'dba'@'%' identified by '*******';
Query OK, 0 rows affected (0.00 sec)
##user表中host列的值的意義
%              與所有主機上配對
localhost    localhost不會被解析成IP位址,直接透過UNIXsocket連接
127.0.0.1      會透過TCP/IP協定連接,且只能在本機存取;
::1 ::1就是相容支援ipv6的,表示同ipv4的127.0.0.1
4.對dba使用者給予針對指定資料庫進行增刪改查的權限


#

mysql> grant select,insert,update,delete,create on [databasename].* to dba;
Query OK, 0 rows affected (0.00 sec)
注意:修改完權限以後一定要刷新服務,或重新啟動服務,刷新服務用:FLUSH PRIVILEGES


#5.可以透過show grants指令查看權限,若想要在原來的基礎上增加權限則繼續執行grant

mysql> grant drop on [databasename].* to dba;
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for dba;+----------------------------------------------------------------------------------------------------+
| Grants for dba@%                                                                                   |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dba'@'%' IDENTIFIED BY PASSWORD '*****************************************' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON `[databasename]`.* TO 'dba'@'%'              |
+----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
 

#6.透過revoke指令可以移除使用者的相關權限


mysql> revoke drop on [databasename].* from dba;
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for dba;+----------------------------------------------------------------------------------------------------+
| Grants for dba@%                                                                                   |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dba'@'%' IDENTIFIED BY PASSWORD '*****************************************' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `[databasename]`.* TO 'dba'@'%'                    |
+----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
 
#

以上是詳解MySQL建立資料庫與建立使用者以及授權的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn