[ MySQL](https://cloud.tencent.com/product/cdb?from=10680)は、世界で最も人気のあるオープンソースのリレーショナルデータベース管理システムです。
デフォルトのCentOS8システムソースリポジトリでは、[MySQLデータベース](https://cloud.tencent.com/product/cdb?from=10680)サーバーの利用可能な最新バージョンは8.0です。
MySQL 8.0には多くの新機能と変更が導入されているため、一部のアプリケーションはこのバージョンと互換性がない場合があります。インストールするMySQLのバージョンを選択するときは、アプリケーションの関連ドキュメントを注意深く読んでください(データベースをデプロイするCentOSサーバー上)。
CentOS 8は[MariaDB](https://cloud.tencent.com/product/tdsql?from=10680)10.3も提供します。これは、MySQL 5.7を完全に置き換えることができますが、いくつかの制限があります。アプリケーションがMySQL8.0と互換性がない場合は、MariaDB10.3をインストールできます。
この記事では、CentOS8システムにMySQL8.0を安全にインストールする方法を紹介します。
rootまたはsudo権限を持つ別のユーザーとして、CentOSパッケージマネージャーを使用してMySQL8.0サーバーをインストールします。
sudo dnf install @mysql
@ mysql
モジュールは、MySQLとすべての依存インストールパッケージをインストールします。
インストールが完了したら、MySQLサービスを開始してブート機能を有効にし、次のコマンドを実行します。
sudo systemctl enable --now mysqld
MySQLサーバーが実行されているかどうかを確認するには、次のように入力します。
sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
Loaded:loaded(/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active:active(running) since Thu 2019-10-1722:09:39 UTC; 15s ago
...
mysql_secure_installation
スクリプトを実行し、セキュリティ関連の操作を実行して、MySQLルートユーザーパスワードを設定します。
sudo mysql_secure_installation
VALIDATE PASSWORD PLUGIN
を設定するように求められます。このプラグインは、MySQLユーザーのパスワード強度をテストしてセキュリティを向上させるために使用されます。パスワードのセキュリティレベルには、弱、中、強の3つがあります。パスワード検証プラグインを設定したくない場合は、直接「Enter」キーを押してください。
次のプロンプトで、MySQLルートユーザーのパスワードを設定するように求められます。完了すると、スクリプトは匿名ユーザーを削除し、ローカルマシンへのルートユーザーアクセスを制限し、テストデータベースを削除するように要求します。すべての質問について「Y」(はい)に戻る必要があります。
ターミナルコマンドラインを介してMySQLデータベースと対話するには、インストールされているMySQLクライアントツールを使用します。ルートユーザーアクセスをテストするには、次のように入力します。
mysql -u root -p
プロンプトが表示されたら、rootユーザーのパスワードを入力すると、MySQLシェルに次のように表示されます。
Welcome to the MySQL monitor. Commands end with; or \g.
Your MySQL connection id is 12
Server version:8.0.17 Source distribution
これで、CentOS8サーバーにMySQL8.0をインストールして保護し、使用できるようになりました。
CentOS8ソースリポジトリのMySQL8.0は、古い mysql_native_password
ユーザー認証プラグインを使用するように設定されています。CentOS8の一部のクライアントツールとライブラリは、標準のMySQL8.0デフォルトメソッドである caching_sha2_password
と互換性がないためです。
mysql_native_password
はほとんどの設定で問題ありません。デフォルトのユーザー認証プラグインをより高速で安全な caching_sha2_password
に変更する場合は、次の構成ファイルを開きます。
sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
デフォルトの default_authentication_plugin
を caching_sha2_password
に変更します。
[ mysqld]
default_authentication_plugin=caching_sha2_password
ファイルを閉じて保存し、MySQLサーバーを再起動して変更を有効にします。
sudo systemctl restart mysqld
MySQL8.0はCentOS8で利用できます。このインストールは、「dnf install @ mysql」と入力するだけで実行できます。
これでMySQLサーバーが稼働しているので、MySQLシェルに接続して、新しいデータベースとユーザーの作成を開始できます。
Recommended Posts