GCPのファイアウォール
GCEにインストールしたMariaDBに、その中のWordPressから接続できていますが、ここにプラグイン用のテーブルを追加したり、データをいじったりしたい。
その際に、全てコマンドベースでやるのもつらいし、さらにphpMyAdminをインストールするのもはまりそうな匂いがプンプン。
ということで、ローカルのツールから接続することにします。
まずは、GCPのファイアウォールルール追加です。
場所は、VPCネットワークの中にあります。
設定するのは、上りで、tcp:3306を許可します。
しかし、これだけではつながりません。
リスナー追加
netstat -tlpn
を叩くと、
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN –
と表示されます。
これだと、ローカルからしか接続できないわけです。
これを変更するためには、bind-addressの記述をコメントアウトする、という情報が見つかります。
問題は、この記述がどこにあるかです。
結論としては、
/etc/mysql/mariadb.conf.d/50-server.cnf
にありました。
これを修正して、sudo /etc/init.d/mysql restart すると、
tcp6 0 0 :::3306 :::* LISTEN –
となってくれました。
しかし、実はこれでもつながりませんでした。
select user, host from mysql.user;すると
+—————+———–+
| user | host |
+—————+———–+
| hoge | localhost |
| xxxxxxxxxxxxx | localhost |
| root | localhost |
+—————+———–+
というユーザしかありません。
で、先に、grant all privileges on *.* to konnokiyotaka@’(接続元)’; をしたのですが、これだとユーザが追加されますが、パスワードは指定していない形になっています。
今回は、この後、SET PASSWORD FOR・・・を行いました。本当は、最初からちゃんとユーザを作ればよいでしょう。
ということで、データメンテもできるようになりました。
A5:SQL Mk-2
ところで、ローカルのDBメンテツールとして、最強はA5:SQL Mk-2だと思っています。
各種DBへの接続に対応していますし、一番よく使うのは、SQLの整形とか。
英語版も提供されているので、海外にも広まってほしいなと思っています。