1. 程式人生 > >Linux下配置mysql允許指定IP遠程訪問

Linux下配置mysql允許指定IP遠程訪問

p地址 列表 輸入 使用 查詢 允許 ont word tro

一、Mysql允許指定IP遠程訪問


1、登錄

mysql -u root -p
之後輸入密碼進行登陸


2、查看用戶表
首先要先指定使用mysql數據庫,然後再進行查詢操作

//進入mysql數據庫mysql> use mysql
myql> select Host,User from user;

下面的列表就是查詢user表後可以訪問數據庫的指定的Ip地址

技術分享圖片


3、權限設置及說明

3.1、使用grant all privileges on來更改用戶對應某些庫的遠程權限

語法模板

grant all privileges on 庫名.表名 to '用戶名'@'IP地址' identified by '密碼' with grant option;

flush privileges;

庫名:要遠程訪問的數據庫名稱,所有的數據庫使用“*” 
表名:要遠程訪問的數據庫下的表的名稱,所有的表使用“*” 
用戶名:要賦給遠程訪問權限的用戶名稱 
IP地址:可以遠程訪問的電腦的IP地址,所有的地址使用“%” 
密碼:要賦給遠程訪問權限的用戶對應使用的密碼


3.2、示例:更新/授權用戶表

//更新用戶表
mysql> update user  set Host = '%' where Host = 'localhost' & user = 'root'; 
或
mysql> UPDATE `user` SET `Host` = '10.42.*.*' where `Host` = '10.42.*.*' & user = 'root';

//授權用戶表,添加遠程ip訪問權限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.40.21.12' IDENTIFIED BY 'FJay' WITH GRANT OPTION;

mysql> flush privileges;


10.42.*.*是允許遠程訪問的IP的值,root是賬戶名,後面的password是密碼。 
即,允許來自10.42.*.*的連接並使用root賬戶和password這個密碼進行訪問。 

10.40.21.12是內網的一個地址,這個是允許遠程訪問的IP的值。自行改為其他值。
root是賬戶名,後面的FJay是密碼。
即,允許來自10.10.11.12的連接並使用root賬戶和FJay這個密碼進行訪問。
ALL PRIVILEGES ON 後面的*.*表示所有數據庫,即完全訪問權限,可以指定為特定數據庫。
而IP這裏,可以使用%來表示所有IP。
第二行是使設置立刻生效。


示例:

只允許192.168.1.105這個地址登錄訪問,只能訪問testwa這個庫裏面的所有表,

且只能用root賬戶及123uupp這個密碼進行訪問

grant all privileges on testwa.* to 'root'@'192.168.1.105' identified by '123uupp' with grant option;


二、Mysql取消IP訪問限制


1、撤銷已經賦予給 MySQL 用戶權限的權限。

revoke 跟 grant 的語法差不多,只需要把關鍵字 “to” 換成 “from” 即可:

grant all on *.* to [email protected] identified by 'just123' with grant option;
revoke all on *.* from [email protected];


2、如果需要禁止遠程用戶,刪除即可

drop user git@%;
drop user [email protected];


Linux下配置mysql允許指定IP遠程訪問