外部からmysqlにアクセスできません。それはmysqlまたはファイアウォールのもの、またはmysql内の何らかの特権だと思います。
私はすでにインターネット上の手順を実行しようとしました。私がやっていることを例証し、同じ問題を抱えている他の人々のためのチュートリアルとして役立つように、プロセスを段階的に説明します。
私は使用しています:
-ubuntu server 12.04
-mysql-server5.5
-there is NO hardware firewall just software one
1-最初にmysqlをインストールしました:
sudo apt-get install mysql-server
2-ルートパスワードを次のように変更しました:
sudo /etc/init.d/mysql stop
sudo mysqld --skip-grant-tables &
mysql -u root mysql
UPDATE user SET Password=PASSWORD('MYPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
3-任意のIPにルートするためのすべての特権を与えます:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
4- my.cnf を編集した後
sudo nano /etc/mysql/my.cnf
以下のように、行にコメントを付けました。
#skip-external-locking
#bind-address = 127.0.0.1
5-MySql 3306を許可するようにiptablesを編集しました:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
ここで netstat -ant と入力します:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN
tcp 0 0 66.123.173.170:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
tcp 0 0 66.123.173.170:22 189.32.2.232:49167 ESTABLISHED
tcp 0 336 66.123.173.170:22 189.32.2.232:49654 ESTABLISHED
tcp6 0 0 :::110 :::* LISTEN
tcp6 0 0 :::143 :::* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
tcp6 0 0 :::21 :::* LISTEN
tcp6 0 0 :::53 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:953 :::* LISTEN
tcp6 0 0 :::25 :::* LISTEN
tcp6 0 0 :::993 :::* LISTEN
tcp6 0 0 :::995 :::* LISTEN
tcp6 0 0 127.0.0.1:8005 :::* LISTEN
ポート 3306 が開いていることを確認してください。私は正しいですか?
6-mysqlを再起動しました:
sudo service mysql start
私が入力した:
service mysql status
結果:
mysql start/running, process 20757
7- サーバーに接続しようとしました:
mysql -h 66.123.173.170 -u root -p
このエラーが発生しました:
エラー 2003 (HY000): '66.123.173.170' の MySQL サーバーに接続できません (111)
私がする時:
mysql -h 127.0.0.1 -u root -p
MySQL>ターミナルを開くと動作します
8- 疑問: このプロセスに何か問題があると思いますか?
OBS: ステップ 4 で、バインド アドレスをbid-address = 0.0.0.0 に設定しようとしましたが、問題は解決しませんでした。
9- 疑問: MySQL をオフにした場合: service mysql stop
mysql -h 127.0.0.1 -u root -p でローカルにファイアウォールにアクセスできますか?
私はそれを行い、mysqlが停止/待機していても接続できました(これは、MySQLの停止と取得ステータスの後に与えられたステータスでした)。