centos7をサーバーにインストールしたものの、これまで使ってたcentos6と色々と手順が違う…ような…気もするので、MySQLにmacからworkbenchで正常につながるまでの流れの調査と作業内容を記録する
MySQL上でアカウントごとのipアドレスの許可を設定する
例えば、192.168.○○を許可しようと思うと、何故か192.168.*としてしまいそうですが、MySQLのワイルドカードは%だったんですね。忘れてしました。なので、192.168.%を許可したいと思います。ユーザー名はnecoとします。
パスワードを設定する時、なんか知らないけどハッシュ化したものを使えとエラーが出たので、以下の流れで設定する
select PASSWORD('mypass');
//mypassは設定するパスワードの文字列。これを実行すると、ハッシュ化した文字列が表示される
grant ALL on *.* to 'tack'@'192.168.%' IDENTIFIED BY PASSWORD 'ハッシュ化したパスワード';
と、こんな流れでひとまず自宅の中からのアクセスはOK。さてアクセスしてみよう。
あぁ、気が狂いそうになる。
接続できませんでしたと出ていますね。許可したのに接続できないと言うわけです。となると、他の何かが接続を邪魔してるとしか考えられません。これが噂に聞くファイアウォールというやつかもしれません。
でも、ファイアウォールかどうかはわかりませんので、ファイアウォールを以下の手順でひとまず停止してみます。
systemctl stop firewalld
そして再度接続を試してみると
ファファーン♪つながるようです。それなら、ファイアウォールってのが悪いに違いありません。ひとまず。以下手順で再度ファイアウォールを作動させておきます。今停止中ですから。
systemctl start firewalld
///以下、実行内容
firewall-cmd --add-service=mysql --zone=public --permanent
firewall-cmd --reload
なんかつながった。よくわからずおわる