日期:2014-05-16  浏览次数:20710 次

设置mysql允许外部IP访问

默认情况下Mysql只允许本地进入设置,在外网想通过命令行访问mysql,那是没门的,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。

例如:让newuser用户使用newpwd密码从IP:192.168.1.3主机链接到mysql服务器

具体步骤:

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘newuser’@’192.168.1.3′ IDENTIFIED

BY ‘newpwd’ WITH GRANT OPTION;

mysql>flush privileges;

grant语法:

grant 权限名(所有的权限用all) on 库名(*全部).表名(*全部) to ‘要授权的用户名’@’%’(%表示所有的IP,可以只些一个IP) identified by “密码”;

身份检查使用user表(Host, User和Password)3个范围列执行。服务器只有在user表记录的Host和User列匹配客户端主机名和用户名并且提供了正确的密码时才接受连接。

在user表Host值的指定方法:

* Host值可以是主机名或IP号,或’localhost’指出本地主机。

* 你可以在Host列值使用通配符字符“%”和“_”。

* Host值’%’匹配任何主机名,空Host值等价于’%’。它们的含义与LIKE操作符的模式匹配操作相同。例如,’%’的Host值与所有主机名匹配,而’%.mysql.com’匹配mysql.com域的所有主机。


例子:

mysql> grant all on *.* to 'root@%' identified by '123456';

Query OK, 0 rows affected (0.02 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)