一、Mysql允许指定IP远程访问
1、登录mysql-uroot-p
之后输入密码进行登陆
2、查看用户表
首先要先指定使用mysql数据库,然后再进行查询操作//进入mysql数据库mysql>usemysql
myql>selectHost,Userfromuser;
下面的列表就是查询user表后可以访问数据库的指定的Ip地址
3、权限设置及说明
3.1、使用grant all privileges on来更改用户对应某些库的远程权限
语法模板grantallprivilegeson库名.表名to'用户名'@'IP地址'identifiedby'密码'withgrantoption;
flushprivileges;
库名:要远程访问的数据库名称,所有的数据库使用“*”
表名:要远程访问的数据库下的表的名称,所有的表使用“*”
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
密码:要赋给远程访问权限的用户对应使用的密码
3.2、示例:更新/授权用户表//更新用户表
mysql>updateusersetHost='%'whereHost='localhost'&user='root';
或
mysql>UPDATE`user`SET`Host`='10.42.*.*'where`Host`='10.42.*.*'&user='root';
//授权用户表,添加远程ip访问权限
mysql>GRANTALLPRIVILEGESON*.*TO'root'@'10.40.21.12'IDENTIFIEDBY'FJay'WITHGRANTOPTION;
mysql>flushprivileges;
10.42.*.*是允许远程访问的IP的值,root是账户名,后面的password是密码。
即,允许来自10.42.*.*的连接并使用root账户和password这个密码进行访问。
10.40.21.12是内网的一个地址,这个是允许远程访问的IP的值。自行改为其他值。
root是账户名,后面的FJay是密码。
即,允许来自10.10.11.12的连接并使用root账户和FJay这个密码进行访问。
ALLPRIVILEGESON后面的*.*表示所有数据库,即完全访问权限,可以指定为特定数据库。
而IP这里,可以使用%来表示所有IP。
第二行是使设置立刻生效。
示例:
只允许192.168.1.105这个地址登录访问,只能访问testwa这个库里面的所有表,
且只能用root账户及123uupp这个密码进行访问
grant all privileges ontestwa.* to 'root'@'192.168.1.105' identified by '123uupp' with grant option;
二、Mysql取消IP访问限制
1、撤销已经赋予给 MySQL用户权限的权限。
revoke跟grant的语法差不多,只需要把关键字“to”换成“from”即可:grantallon*.*toroot@192.168.1.105identifiedby'just123'withgrantoption;
revokeallon*.*fromroot@192.168.1.105;
2、如果需要禁止远程用户,删除即可dropusergit@%;
dropuserroot@192.168.1.105;