ツール

MySQL新規構築時の罠

今まで使っていたサーバー(Conoha)から別のサーバー(XServer)に変えるにあたって、イメージのやり取りができないので環境を1から構築しなおす必要があり、その際に手間取ったのでメモとして残します

バージョン
OS(MySQLが構築されるOS)Ubuntu 22.04.4
MySQL8.0.36

MySQLをインストールする

以下のコマンドを順次実行し、MySQLをインストールする

# MySQLのインストール
apt install mysql-server

# MySQLインストール後、セキュリティスクリプトを実行
# 内容は各環境に合わせて設定してください
mysql_secure_installation

MySQLのrootユーザーにパスワードを設定する

rootはパスワードなしでログインできてしまうため、パスワードを設定する

# MySQLにrootユーザーで接続する
mysql -u root -p

# MySQLにログイン後、rootにパスワードを設定する
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<パスワード>';
# メモリ解放
FLUSH PRIVILEGES;

外部からアクセスする際のユーザー作成

外部ツール等からアクセスする際に使用するユーザーの作成及び権限を設定する

# 外部からの接続用ユーザーの作成
CREATE USER 'nasuton'@'%' IDENTIFIED WITH mysql_native_password BY '<パスワード>';
# 作成したユーザーに権限を付与する
GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'nasuton'@'%' WITH GRANT OPTION;
# メモリ解放
FLUSH PRIVILEGES;

MySQLを外部からの接続設定

ファイヤーウォールを設定している場合は以下のコマンドを実行してポートを開放しておく

ufw allow mysql

MySQLをインストールした状態だと外部からアクセスすることができないので以下のファイル内の該当箇所を変更する

# /etc/mysql/mysql.conf.d/mysqld.cnfの次の行をコメントアウトする
bind-address            = 127.0.0.1

ncコマンドでの接続確認

# nc -v -w 1 端末のIPアドレス -z 確認したいポート番号
nc -v -w 1 123.45.67.89 -z 3306

# 成功した場合:Connection to 123.45.67.89 3306 port [tcp/mysql] succeeded!
# 失敗した場合:nc: connect to 123.45.67.89 port 3306 (tcp) failed: Connection refused

lsofコマンドでポート確認

# lsof -i:確認したいポート番号
lsof -i:3306

# 変更前:mysqld  ~  TCP localhost:mysql (LISTEN)
# 変更後:mysqld  ~  TCP *:mysql (LISTEN)

以下のサイトが様々なことについて参考になると思います

参考サイト
UbuntuへのMySQLインストール手順と設定 | IT底辺脱却ブログ
UbuntuへのMySQLインストール手順と設定 | IT底辺脱却ブログ

UbuntuにMySQLをインストールして利用する手順です。少しだけCentOSの手順も記載します。 バージョン Ubu ...

続きを読む

-ツール
-, ,