一、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 privileges on *.* to root@192.168.1.105 identified by '123' with grant option; revoke all privileges on *.* from root@192.168.1.105;
2、如果需要禁止遠程用戶,刪除即可
drop user git@%; drop user root@192.168.1.105;
©著作權歸作者所有:來自51CTO博客作者M_ling的原創作品,請聯系作者獲取轉載授權,否則將追究法律責任
Linux下配置mysql允許指定IP遠程訪問
https://blog.51cto.com/meiling/2156110
