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