家のものからお前はIT業界にいるくせになにもできないな。とよく馬鹿にされるので家計簿ソフトを作ろうと一念発起しました。
何の知識もないのでサーバサイドのいろいろを学ばないといけないのですが、一番なじみがあるDBからまず触ってみよう。ということでUbuntuにMySQLをインストールして外部から接続して遊んでみることにしました。その時のメモです。
- Windows10 ProのHyper – v でUbuntuを構築(家のものに頼んで実施)
- UbuntuにMySQLをインストール(ネットでやり方を参照)
- MySQLに外部から接続可能なユーザーを作成(ネットでやり方を参照)
- CSEというフリーソフトで接続するため、MySQLのODBCドライバをインストール
いざこれで接続だー。ということでODBCデータソースアドミニストレーターからMySQLの接続を試みたが・・・あれ、つながらないよ・・・。
ネットで調べて以下の内容が正しいかチェックすべしという内容が見つかりました。
- 3306のポートが解放されているかどうか
- MySQLのユーザーが外部接続できる設定になっているかどうか
ユーザーの権限付与はやったから3306ポートの開放がされていないのか、、
$ netstat -ant
これで確認したところ、
Proto 受信-Q 送信-Q 内部アドレス 外部アドレス 状態
tcp6 0 0 172.0.0.1:3306 :::* LISTEN
と、127.0.0.1になっていたのがいけなかったーということがわかりました。
これまたネットで調べたところ
/etc/mysql/my.cnfのbind-addressをコメントアウトするとポートが開放される。とあったので指定の場所にあるmy.cnfを確認したのですが・・・・そんな文字列存在していないー。
で、結局どうしたかというと、includedirに指定されていた/etc/mysql/mysql.conf.d/の中にあったmysqld.cnfにbind-addressの記載があったのでそこをコメントアウトしたところポートが外部接続に成功しました。
これやるのに2時間以上時間がかかってしまった。なんか先が思いやられる・・・