1. 組み込みの MariaDB 依存関係パッケージをアンインストールします。
[root@localhost ~]# yum makecache fast
[root@localhost ~]# yum list installed mariadb\*
[root@localhost ~]# yum remove mariadb-libs.x86_64
2. MySQL リポジトリをダウンロードする
リポジトリページ https://dev.mysql.com/downloads/repo/yum/
[root@localhost ~]# yum install wget -y
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
[root@localhost ~]# yum install mysql80-community-release-el7-7.noarch.rpm -y
[root@localhost ~]# yum repolist enabled | grep "mysql.*-community.*"
[root@localhost ~]# yum repolist all | grep mysql
[root@localhost ~]# yum install -y yum-utils
MySQL8.0のリポジトリ設定を閉じます。
[root@localhost ~]# yum-config-manager --disable mysql80-community
MySQL5.7のリポジトリ設定を開く
[root@localhost ~]# yum-config-manager --enable mysql57-community
[root@localhost ~]# yum repolist enabled | grep mysql
3. MySQL 5.7 をインストールする
[root@localhost ~]# yum install mysql-community-server -y
次のコマンドを使用して、プラットフォームの MySQL Yum コンポーネント リポジトリで利用可能なすべての MySQL パッケージを一覧表示できます。
[root@localhost ~]# yum --disablerepo=\* --enablerepo='mysql*-community*' list available
4. サービスを開始し、データベースを初期化します。
[root@localhost ~]# service mysqld start
[root@localhost ~]# service mysqld status
データベースの初期パスワードを取得する
[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
データベースを初期化する
[root@localhost ~]# mysql_secure_installation
今すぐパスワードを入力してください
[root@localhost ~]# mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.
Estimated strength of the password: 100
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) : n
... skipping.
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!
[root@localhost ~]#
[root@localhost ~]# mysql_secure_installation
安全な MySQL サーバーの展開。
root ユーザーのパスワードを入力してください:
root ユーザーのパスワードの有効期限が切れています。処理手順 新しいパスワードを設定してください。
新しいパスワード:
新しいパスワードを再入力します。
「validate_password」プラグインがサーバーにインストールされています。
次の手順では、既存の構成を使用して実行します。
プラグイン。
既存の root パスワードを使用します。
パスワードの推定強度: 100
root ユーザーのパスワードを変更しますか? (はいの場合は y|y を押し、いいえの場合は他のキーを押します):n
... 飛び越える。
デフォルトでは、MySQL インストールには匿名ユーザーが存在します。
誰でも MySQL にログインできるようにする
ユーザー用に作成されたユーザー アカウント。これはただのためです
テストしてインストールをよりスムーズにします。
本番環境に移行する前にそれらを削除する必要があります
匿名ユーザーを削除しますか? (はいの場合は y | y を押し、いいえの場合は他のキーを押します): y
成功。
通常、root ユーザーのみに許可する必要があります。
「ローカルホスト」。これにより、誰も推測できなくなります
ネットワークからの root パスワード。
root ユーザーのリモート ログインを無効にしますか? (「はい」の場合は y|y を押し、「いいえ」の場合は他のキーを押します):n
... 飛び越える。
デフォルトでは、MySQL には「test」という名前のデータベースが付属しています。
誰でもアクセスできます。こちらもあくまでテスト用ですので、
本番環境に入る前に削除する必要があります
環境。
テスト データベースを削除してアクセスしますか? (はいの場合は y | y を押し、いいえの場合は他のキーを押します): y
- テスト データベースを削除します...
成功。
- テスト データベースの権限を削除します...
成功。
権限テーブルを再ロードすると、すべての変更が確実に行われます
現在施行されている規定は直ちに発効します。
権限テーブルを今すぐ再ロードしますか? (はいの場合は y | y を押し、いいえの場合は他のキーを押します): y
成功。
完成しました!
root@localhost ~ #
おそらく英語の説明は上記の通りで、プロンプトに従って y または n を入力してください。
データベースの初期化が完了しました
デフォルトのパスワード ポリシー エンフォーサでは、パスワードに少なくとも 1 つの大文字、1 つの小文字、1 つの数字、および 1 つの特殊文字が含まれ、パスワードの合計の長さが少なくとも 8 文字であることが要求されます。
データベースサービスを再起動します
[root@localhost ~]# service mysqld restart
[root@localhost ~]# service mysqld status
5. ローカルログインをテストする
[root@localhost ~]# mysql -u root -p
知らせ:
MySQL はデフォルトで大文字と小文字を区別しません。Linux でのデータベース名、テーブル名、列名、およびエイリアスに関する MySQL の大文字と小文字の規則は次のとおりです: 1) データベース名とテーブル名は厳密に大文字と小文字が区別されます; 2) テーブルのエイリアスは厳密に大文字と小文字が区別され
ます
。センシティブ 大文字と小文字が区別されます;
3) 列名と列の別名は、すべてのケースで大文字と小文字が区別されません;
4) 変数名も厳密に大文字と小文字が区別されます。
データベースのバージョンを確認する
mysql> status;
mysqlを終了します
mysql> exit
6. リモート ログインが有効化され、テストされます (リモートを有効にするか無効にするかを選択できます)
ローカルでデータベースにログインします
データベース内の個々のユーザーのアクセス権限を表示する
mysql> select user,host from mysql.user;
上記のことから、ユーザー root のアクセス権限は localhost であることがわかります。これは、root ユーザーがローカル アクセスのみをサポートしていることを意味します。
root リモートを許可する
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'データベース root ユーザー パスワード' WITH GRANT OPTION; *.* はすべてのライブラリ
内のすべてのテーブルを意味し、'root' ユーザー、'%' はリモートを意味します「localhost」はローカルを意味します
mysql> grant all privileges on *.* to 'root'@'%' identified by 'xxx' with grant option;
ライブラリテーブルの権限を更新する
mysql> flush privileges;
データベース内の各ユーザーのアクセス権限を再度表示します。
mysql> select user,host from mysql.user;
リモートログインをテストする
データベース接続ツールを使用するか、MySQL がインストールされている別のサーバーでコマンド接続を使用できます。
ここでは後者を選択します
接続する前に、リモート接続されている MySQL サーバーがデータベース ポートを解放する必要があることを確認してください。
ファイアウォールで許可されているサービスを確認する
[root@localhost ~]# firewall-cmd --list-all
MySQL サービスがファイアウォールを通過できるように永続的に許可する
[root@localhost ~]# firewall-cmd --permanent --add-service=mysql
ファイアウォールルールをリロードする
[root@localhost ~]# firewall-cmd --reload
データベース リモート ログイン mysql -h データベース サーバーのホスト アドレス -P データベース ポート -u データベース ユーザー -p
[root@localhost ~]# mysql -h 10.0.0.4 -P 3306 -u root -p