概要
conohaVPS(ubuntu)上にインストールしたMysqlに外部(Macのターミナル)からアクセスをする
備忘録としてまとめています
環境
ローカル
MacBookPro(macOS 10.15.1)
VPS
conoha VPS(ubuntu18.04)
Mysql 5.7.28
VPSにmysqlをインストール
ubuntu上にmysqlをインストールします
$ sudo apt update
$ sudo apt install mysql-server
外部接続用ユーザーの作成
mysqlのインストールが完了したら外部接続用のユーザーを作成します。
まず初めにmysqlにrootユーザーでログイン
パスワードも聞かれます
$ mysql -u root -p
rootログインができたら外部接続用ユーザーを作成します。
今回はユーザー名:outer/ホスト名:XXX.XXX.XXX.XXX/パスワード:passwdという名前にします。適宜変えてください
(ホスト名のIPは接続側、今回ならmac側のIPです。VPSのIPではない)
また、権限は全OKな感じにしているのでこちらも適宜変えてください。
# ユーザーの作成
CREATE USER outer@XXX.XXX.XXX.XXX IDENTIFIED BY 'passwd';
# 作ったユーザーの権限を設定
GRANT ALL PRIVILEGES ON *.* to outer@XXX.XXX.XXX.XXX IDENTIFIED BY 'passwd' WITH GRANT OPTION;
# 必要であれば下記コマンドで正しく設定されているか確認
SELECT user, host FROM mysql.user;
ここまでできたら一度"exit"と叩いてmysqlからログアウトします。
mysqlの再起動
下記コマンドでMysqlを再起動します。
$ sudo systemctl restart mysql
また、(必要か分かりませんが)mysqlの下記configを変更する必要があるそうです。
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
#下記をコメントアウトする。
bind-address = 127.0.0.1
ubuntuファイアウォールの設定
mysqlのデフォルトのポートは3306なのでファイアウォールも設定してあげます。
# ポート3306を解放
sudo ufw allow 3306
# ufwの再読み込み
ufw reload
# 必要であれば下記コマンドで確認
ufw status verbose
macターミナルから接続
最後に外部からアクセスできるか確認します。
ここでのYYY.YYY.YYY.YYYはVPSのIPアドレスです。
$ mysql -h YYY.YYY.YYY.YYY -u outer -p
これで接続ができました。