以下の操作は Centos7.5 で正常に実行されました。
1. まず MariaDB をアンインストールします
rpm -qa | grep -i mariadb (mariadb があるか確認)
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 (依存関係を確認せずに直接アンインストール)
2. mysql の残留物があるかどうかを確認します (存在する場合は、アンインストールし、以下で再インストールすることをお勧めします)。
rpm -qa | grep mysql
3. mysql ライブラリをダウンロードします (インターネットに接続する必要があります)。
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
4 番目に、mysql ライブラリをインストールします。
yum -y install mysql80-community-release-el7-3.noarch.rpm
5. mysql の GPG を再取得します (実行しない場合、yum インストールの次のステップでエラーが報告されます)。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
6. mysql をインストールします (デフォルトで mysql8.0 がインストールされます)。
yum -y install mysql-community-server
7.mysql サービスを開始する
systemctl start mysqld
8. mysql の実行状況を確認する (不要な操作)
systemctl status mysqld (実行されていない場合は、systemctl start mysqld を実行します)
9. デフォルトのパスワードを表示する (必須ではない操作)
猫 /var/log/mysqld.log | grep パスワード
この時点でmysql8.0がインストールされていますが、mysqlをより便利に利用するために、パスワードを変更してリモートアクセスを有効にする操作を以下に示します。
10. mysql のパスワードなしのログインを設定して、パスワードを変更します
vim /etc/my.cnf (ファイルの編集)
スキップ許可テーブルを追加
wq! 保存して終了
systemctl restart mysqld (サービスを再起動して構成を有効にします)
11. mysql にログインします (パスワードは不要です。任意のキーを押してログインします)。
mysql -uroot -p
12. mysql のデフォルト パスワードを変更する
use mysql; (mysql ライブラリに切り替えます)
SHOW variables LIKE 'validate_password%'; (必須ではない操作、クエリ テーブル)
set global validate_password.policy=0; (パスワード制限を下げる)
set global validate_password.length=4; (パスワード制限を下げる)
権限のフラッシュ; (更新して有効にする)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; (パスワード 123456 を設定)
権限のフラッシュ; (更新して有効にする)
十三、ルートアカウントのリモートアクセスを設定する
ユーザーからユーザー、ホスト、プラグインを選択; (クエリ テーブル)
update user set host = '%' where user = 'root'; (任意のアドレスにアクセスできるように root を設定します)
update user set plugin = 'mysql_native_password' where user = 'root'; (必要ありません。mysql8.0 は新しいプラグイン caching_sha2_password に変更されているため、navicat12 でログインするとエラーが報告されます。このコマンドを実行して変更できます。古いプラグイン mysql_native_password に戻すか、navicat をバージョン 16 にアップグレードします。バージョン 16 は既に caching_sha2_password をサポートしています)
権限のフラッシュ; (更新して有効にする)
終了 (mysql を終了)
14.パスワードなしのログインをキャンセルする
vim /etc/my.cnf (ファイルの編集)
スキップ許可テーブルを削除します
wq! 保存して終了
systemctl restart mysqld (サービスを再起動して構成を有効にします)
15. 3306 データベースのデフォルト ポートを開きます (リモート ログインを開く必要があります)。
systemctl status firewalld (ファイアウォールが有効になっているかどうかを確認し、有効になっていない場合は、systemctl start firewalld を実行します)
firewall-cmd --permanent --add-port=3306/tcp (ポート 3306 を永続的に追加)
firewall-cmd --reload (更新して有効にする)
firewall-cmd --list-ports (必須ではない操作です。ポートが有効になっているかどうかを確認してください)
16、ログイン確認
mysql にローカルで正常にログインする
navicat16 mysqlへのリモートログインに成功