MySQL Yum リポジトリを使用して MySQL 5.7 を CentOS 7 にインストールする

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

 

 

おすすめ

転載: blog.csdn.net/wxqndm/article/details/127960350