サーバー構築を体験するためにMySQLサーバーを立ててみました。
自分用のメモとアウトプットのために手順を記事としてまとめます。
MySQLのインストール
まずは以下のコマンドで必要なパッケージをインストールします。
$ sudo apt-get update
$ sudo apt install mysql-server mysql-client
インストールが完了したら、systemctl
コマンドでMySQLサービスが稼働していることを確認してみましょう。
サービスが停止している場合はsystemctl start
で開始してください。
$ systemctl status mysql
rootユーザーの設定
ここではSQLのALTER USER
でrootユーザーのパスワードを設定しています。パスワードの部分には適当な値を設定してください。
$ sudo mysql -uroot
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'パスワード'; # 'パスワード'にはrootユーザーのパスワードを入力してください
MySQLの初期設定
最後にmysql_secure_installation
でMySQLの初期設定を行います。
なお私はrootユーザーの設定を行う前にMySQLの初期設定を行った為、パスワード設定部分で以下のようなエラーが発生しました。
Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.
エラーはrootユーザーの設定を行うことで解消できますが、MySQLのインストール→MySQLの初期設定(エラー発生)→rootユーザーの設定→MySQLの初期設定の手順で作業を行った為、質問内容が異なっている可能性があります。
$ sudo mysql_secure_installation
# Validate Password Pluginを設定するか
Press y|T for Yes, any pther key for No: Yes
# パスワード強度の設定
Please enter 0 = Low, 1 = MEDIUM and 2 = STRONG:
New password:
Re-enter new password:
# パスワードの暗号強度
Estimated strength of the password: ~~~
Do you wish to continue with the password provided? # nでパスワードの再入力
# 匿名ユーザーを削除する
Remove anonymous users?:
# リモートでrootのログインを許可する
Disallow root login remotely?
# テストデータベースを削除する
Remove test database and access to it?:
# 権限テーブルを再ロードして、これまでの変更を即座に反映させる
Reload privilege tables now?:
これでMySQLサーバーの準備は完了です。rootユーザーでMySQLに接続してみましょう。
$ sudo mysql -uroot -p
まとめ
自分用のメモも兼ねてMySQLサーバーを構築する方法をまとめました。