Debian11へMySQL8.0インストール&初期化のやり方

Debian

Debian11へのMySQL8.0インストール手順と初期化のやり方を記事にしてみました。

ローカルパッケージインデックスを更新します。

$ sudo apt update ; sudo apt -y upgrade

必要パッケージをインストールします。

$ sudo apt install -y software-properties-common apt-transport-https wget ca-certificates gnupg2

MySQLコミュニティリポジトリをインポートします、

GPGキーをインポートします。
$ sudo wget -O- http://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | gpg --dearmor | sudo tee /usr/share/keyrings/mysql.gpg
次に、リポジトリをインポートします。
$ echo 'deb [signed-by=/usr/share/keyrings/mysql.gpg] http://repo.mysql.com/apt/debian bullseye mysql-8.0' | sudo tee /etc/apt/sources.list.d/mysql.list
APTアップデートを実行します。
$ sudo apt update
MySQLのリポジトリのインポートが完了したので、次のようにコマンドを実行してMySQLをインストールします。
$ sudo apt install -y mysql-community-server

インストール中に新しいポップアップが表示され、MySQLのルートパスワード入力を2回求められます。

google翻訳
mysql-community-serverの構成MySQLデータベースのrootアカウントに設定される強力なパスワードを入力してください。 UNIXソケットベースの認証を使用してパスワードなしのログインを有効にするには、空白のままにします。
ルートパスワードを入力してください:
google翻訳
mysql-community-serverの構成rootアカウントのパスワードを選択したので、もう一度入力して確認してください。 パスワードを他人と共有しないでください。
ルートパスワードを再入力します。

次に、新しい認証システムについて読むための別のポップアップが表示されます。

左右キーで<OK>を選択して続行します。

google翻訳
mysql-community-serverの構成MySQL8は、改善されたSHA256ベースのパスワード方式に基づく新しい認証を使用します。 今後、すべての新しいMySQLサーバーのインストールでこの方法を使用することをお勧めします。 この新しい認証プラグインには、この新しい認証方法(caching_sha2_password)をサポートする、新しいバージョンのコネクタとクライアントが必要です。 現在、libmysqlclient21で構築されたMySQL8コネクタとコミュニティドライバはこの新しいメソッドをサポートしています。 古いバージョンのlibmysqlclientで構築されたクライアントは、新しいサーバーに接続できない場合があります。 古いクライアントソフトウェアとの互換性を維持するために、デフォルトの認証プラグインをレガシー値(mysql_native_password)に設定できます。これは、必要なサードパーティソフトウェアが新しい認証方法で動作するように更新されていない場合にのみ実行する必要があります。 変更はファイル/etc/mysql/mysql.conf.d/default-auth-override.cnfに書き込まれます。

次に、認証プラグインのデフォルトに上下キーでカーソルを合わせ、左右キーで<OK>を選択して続行します。

google翻訳
mysql-community-serverの構成
デフォルトの認証プラグインを選択します
  強力なパスワード暗号化を使用する(推奨)
  レガシー認証方法を使用する(MySQL5.xを保持する..。

MySQLのインストールが進行します。

MySQLのインストール完了後、aptpolicy、systemctlでインストール・動作確認を行います。

apt policy mysql-community-server

$ apt policy mysql-community-server
mysql-community-server:
  Installed: 8.0.30-1debian11
  Candidate: 8.0.30-1debian11
  Version table:
 *** 8.0.30-1debian11 500
        500 http://repo.mysql.com/apt/debian bullseye/mysql-8.0 amd64 Packages
        100 /var/lib/dpkg/status

systemctl status mysql

$ systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en>
     Active: active (running) since Fri 2022-07-29 12:08:20 JST; 4min 24s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
   Main PID: 2509 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 525)
     Memory: 279.8M
        CPU: 4.396s
     CGroup: /system.slice/mysql.service
             └─2509 /usr/sbin/mysqld

Active: active (running) と表示されていれば正常に動作しています。

初期化

mysql_secure_installation

$ mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: 

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: n
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

以上でMySQLインストール・初期化完了です。

参考にさせていただいたサイト
https://www.linuxcapable.com/how-to-install-the-latest-mysql-8-on-debian-11/

タイトルとURLをコピーしました