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

猜你喜欢

转载自cocogg.iteye.com/blog/1450689