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

Linux 下配置 mysql 远程访问

网上介绍很多,但是自己实际操作是还是遇到了很多麻烦,记录一下(红色的地方是需要注意的 )。

?

第一步和winddows下配置mysql的远程登录一样,一般执行如下语句就行:???

?

use mysql;   
GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;   
GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;  
flush privileges

? ? ? ? ?? 实际上创建了一个用户 用户名:admin? 密码:admin? 远程访问的时候就用这个用户名和密码登录。

?

第二步 是打开防火墙

?

????? 简单关闭防火墙不好用。

?

????? 先停止防火墙 service iptables stop 然后修改 /etc/sysconfig/iptables

????? 添加 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

?

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306  -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
?

???? 需要注意的是添加的位置必须在

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

???? 上方。

?

????? 然后启动防火墙:

??? ????? service iptables start

?

第三步 如果还是有问题可以修改如下的配置 /etc/my.cnf

????? [mysqld] ? 下面添加

skip-name-resolve
bind-address=0.0.0.0

???? 如果找不到my.cnf 文件,拷贝my-small.cnf 到/etc 改名my.cnf就可以了

? ?? 不知到 my-small.cnf 的位置就用 find / -name my-small.cnf

?

?

?

?

?