以前書いた内容が少し古いので、最近新しいデータベースをインストールして記録しました。
1. Mysql 8.0 データベース CentOS 8.0 バージョンをダウンロードします。
MySQL ダウンロード アドレス: MySQL :: MySQL コミュニティ サーバーのダウンロードhttps://dev.mysql.com/downloads/mysql/
CentOS はredHatに属しているため、次を選択します。
私の軽量サーバーはCentOS 8.2で64ビットなので(今回はTencent Cloudを使用しているため、新規ユーザーは安価です)
2. ダウンロードが完了したら、xftp を使用してサーバーにアップロードし、/opt/mysql ディレクトリに置きます。
インストール前に mariadb がインストールされているかどうかを確認し、コマンド rpm -qa | grep mariadbを実行します 。
インストールされている場合は、アンインストールする必要があります。アンインストール コマンド: rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
なお、赤枠の箇所は調べた対象となるため、mariadb がインストールされていない場合はアンインストール手順をスキップしてください。
3. 次の 5 つのパッケージを解凍してインストールします。
#解压
tar -xvf mysql-8.0.28-1.el8.x86_64.rpm-bundle.tar
#安装以下这5个包就可以了
rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-common-8.0.28-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.28-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.28-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm --nodeps --force
4. 次のコマンドを実行して mysql を初期化し、開きます。
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
5. 以下に示すように、コマンドを実行して mysql の初期パスワードを確認します。
cat /var/log/mysqld.log | grep password
6. 初期パスワードでmysqlにログインします。
mysql -uroot -p
7. mysql のインストールは完了しましたが、コマンドを実行すると、mysql によってパスワードの変更が強制されることがわかります。
8. コマンドを実行してパスワードを変更します
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'
このようにして、このマシンに root ユーザーとしてログインするときのパスワードが root に変更されます。
9. 再度ログインして、パスワードの変更が有効かどうかを確認します
有効になり、新しいパスワードでのログインが成功しました。
10. navicat を使用してサーバーに接続しようとしましたが、接続に失敗しました。ポートが開いていないことがわかりました。サーバーのファイアウォール設定を変更します。
ポート 3306 を開くことを許可するルールを追加します。
11. もう一度試してみても、まだ接続できないことがわかります。データベースがリモート接続を許可していないことがわかります。次のように変更します。
# 使用的database名称为"mysql"
>use mysql;
# 修改之前查看;
>select host, user from user;
# 修改”root“账号的配置信息
>update user set host = '%' where user = 'root';
# 如果账号是“test”,使用该命令
# update user set host='%' where user='test';
# 验证修改成功;
>select host, user from user;
# 给root账号授权
>grant all privileges on *.* to root@'%' with grant option;
# 刷新使其生效
>flush privileges;
OK、接続されました: