mysql授權遠程用戶連接(權限最小化原則)


1、進入MySQL,創建一個新用戶root,密碼為root:

格式:grant 權限 on 數據庫名.表名 to 用戶@登錄主機 identified by “用戶密碼”; 
grant select,update,insert,delete on . to root@192.168.1.12 identified by “root”;

原先數據表結構

mysql> use mysql;
Database changed
mysql> select host,user,password from user; +-----------+------+-------------------------------------------+ | host | user | password | +-----------+------+-------------------------------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +-----------+------+-------------------------------------------+

執行上述語句后結果

mysql> use mysql;
Database changed
mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +--------------+------+-------------------------------------------+ 2 rows in set (0.00 sec)

可以看到在user表中已有剛才創建的root用戶。host字段表示登錄的主機,其值可以用IP,也可用主機名, 
有時想用本地IP登錄,那么可以將以上的Host值改為自己的Ip即可。

2、實現遠程連接(授權法)

將host字段的值改為%就表示在任何客戶端機器上能以root用戶登錄到mysql服務器,建議在開發時設為%。 
update user set host = ’%’ where user = ’root’;

將權限改為ALL PRIVILEGES

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "root"; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +--------------+------+-------------------------------------------+ 3 rows in set (0.00 sec)

這樣機器就可以以用戶名root密碼root遠程訪問該機器上的MySql.

3、實現遠程連接(改表法)

use mysql;

update user set host = ‘%’ where user = ‘root’;

這樣在遠端就可以通過root用戶訪問Mysql.

 mysql假如授權 grant all privileges on *.* to 'huowuzhao'@'192.168.%' identified by 'password';
再授權grant all privileges on *.* to 'huowuzhao'@'192.168.222.%' identified by 'password';之后,之前授權的用戶將失效,是因為mysql有權限最小化原則。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM