MySQL建立用戶以及受權

首先登陸數據庫

[root@www ~]# mysql -uroot -p
Enter password: 

第一種方式使用grant直接建立和授予權限:

mysql>grant all privileges on qiuhom.* to qiuhom_db1@localhost identified by 'admin123.com';

以上語句表示建立一個qiuhom_db1的用戶而且給予用戶qiuhom庫下的全部表的權限,並設置密碼爲admin123.com
咱們能夠經過show grants for qiuhom_db1@localhost;來查看用戶的權限mysql

mysql> show grants for qiuhom_db1@localhost;
+-------------------------------------------------------------------------------------------------------------------+
| Grants for qiuhom_db1@localhost |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'qiuhom_db1'@'localhost' IDENTIFIED BY PASSWORD '*2D9AC2437F9E59A51BE8BA89A3D59E76F32F55E8' |
| GRANT ALL PRIVILEGES ON `qiuhom`.* TO 'qiuhom_db1'@'localhost' |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec) 

第二種方式是先建立用戶而後在受權

mysql>create user qiuhom_db2@localhost identified by 'admin123.com';     ####建立qiuhom_db2@localhost用戶,並設置密碼爲admin123.com 
mysql>grant all on qiuhom.* to qiuhom_db2@localhost;              ####給qiuhom_db2@localhost受權

查看權限

mysql> show grants for qiuhom_db2@localhost;
+-------------------------------------------------------------------------------------------------------------------+
| Grants for qiuhom_db2@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'qiuhom_db2'@'localhost' IDENTIFIED BY PASSWORD '*2D9AC2437F9E59A51BE8BA89A3D59E76F32F55E8' |
| GRANT ALL PRIVILEGES ON `qiuhom`.* TO 'qiuhom_db2'@'localhost'                                                    |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

  提示:以上兩種方式都是mysql數據庫建立用戶和受權用戶的權限,須要注意的是第二種方式受權後面不須要有密碼,建立好用戶後不受權是能夠sql

登陸的,只是登陸後不能操做任何數據庫包括查看都沒有。數據庫

關於遠程用戶權限bash

grant all privileges on *.* to 'root'@'10.0.0.18' identified by 'admin06' with grant option; 

  說明:解釋下上面的命令,其中*.* 表示的是全部庫的全部表 就是整個數據庫的全部文件的 。後面的root是表示給那個用戶受權,這裏是root再後面的ip就是受權的運行登陸的服務器地址,這裏注意下,假設要受權爲任何主機均可以來訪問的話,咱們這裏就要設置成%好比:'root'@'%'就表示任一主機上的root均可以來訪問,'%'@'10.0.0.18'就表示18上的任一用戶均可以來訪問,'%'@'%'就表示任一主機的任一用戶均可以來訪問,再後面的by ××× 就是用戶登陸的密碼 在後面with grant option 就表示受權爲管理員,其實受權的命令和其餘命令均可以經數據庫裏面用help命令去查看幫助,好比不清楚grant的用法 能夠help grant 就能夠看到詳細的解釋,關於受權咱們還能夠用直接修改其mysql庫裏面的user表裏面的user字段和host字段,好比將host字段的值改成%就表示在任何客戶端機器上能以root用戶登陸到mysql服務器,以下所示服務器

update user set host = ’%’ where user = ’root’;
相關文章
相關標籤/搜索