CentOS 7.4 64 ビット版に MySQL 8.0 をインストールして設定するための詳細な手順

CentOS 7.4 64 ビット版に MySQL 8.0 をインストールして設定するための詳細な手順

ステップ1: MySQL YUMソースを取得する

MySQLの公式サイトにアクセスして、RPMパッケージのダウンロードアドレスを取得します。

yum をリポジトリに追加します。

クリックしてダウンロード

ダウンロードリンクを取得:

https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

--------------------------------------------------------------------------------

ステップ2: MySQLソースをダウンロードしてインストールする

• mysqlフォルダを入力し、存在しない場合は作成します

[root@VM_0_10_centos /]# cd /usr/local/mysql/
[ルート@VM_0_10_centos mysql]#

• ソースインストールパッケージをダウンロードする

[root@VM_0_10_centos mysql]# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
--2018-08-04 10:29:39-- https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
repo.mysql.com (repo.mysql.com) を解決しています... 23.219.33.198
repo.mysql.com (repo.mysql.com)|23.219.33.198|:443 に接続しています... 接続されました。
HTTP リクエストが送信されました。応答を待っています... 200 OK
長さ: 25820 (25K) [application/x-redhat-package-manager]
保存先: 'mysql80-community-release-el7-1.noarch.rpm'
100%[===============================================================================================>] 25,820 112KB/秒 0.2 秒 
2018-08-04 10:29:40 (112 KB/秒) - 'mysql80-community-release-el7-1.noarch.rpm' を保存しました [25820/25820]
[root@VM_0_10_centos mysql]# ll
合計 28
-rw-r--r-- 1 ルート ルート 25820 4月18日 13:24 mysql80-community-release-el7-1.noarch.rpm
[ルート@VM_0_10_centos mysql]#

• MySQLソースをインストールする

[root@VM_0_10_centos mysql]# yum -y localinstall mysql80-community-release-el7-1.noarch.rpm

ステップ3: MySQLをオンラインでインストールする

[root@VM_0_10_centos mysql]# yum -y mysql-community-server をインストールします

ダウンロードするものがたくさんあるので、数分お待ちください。

ステップ4:Mysqlサービスを開始する

[root@VM_0_10_centos mysql]# systemctl でmysqldを起動します

ステップ5: スタートアップを設定する

[root@VM_0_10_centos mysql]# systemctl で mysqld を有効にします
[root@VM_0_10_centos mysql]# systemctl デーモンリロード

ステップ6: ルートローカルログインパスワードを変更する

mysql がインストールされると、/var/log/mysqld.log ファイルに root の一時的なデフォルト パスワードが生成されます。 grepコマンドで検索する

[root@VM_0_10_centos mysql]# grep "root@localhost の一時パスワードが生成されました" /var/log/mysqld.log 
2018-08-02T02:19:55.829527Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: !J:KUwU9y0ZR
2018-08-02T04:49:34.979689Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: pw</s9,Wivm2
2018-08-04T02:40:46.781768Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: nNyK,Y)Wd0-G
[ルート@VM_0_10_centos mysql]#

ここでは、MySQL を 3 回インストールしたため、検索結果が 3 つあります。初めてインストールした場合は、検索結果は 1 つだけになります。

一時的なデフォルトパスワードを直接取得: nNyK,Y)Wd0-G

• MySQLにログイン

[root@VM_0_10_centos mysql]# mysql -uroot -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは8です
サーバーバージョン: 8.0.12
Copyright (c) 2000, 2018, Oracle およびその関連会社。無断複写・転載を禁じます。
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
マイSQL>

•ルートアカウントの一時パスワードを変更する

mysql> ALTER USER 'root'@'localhost' が '[email protected]' によって識別されます。
クエリは正常、影響を受けた行は 0 行 (0.03 秒)
マイSQL>

[email protected] ご自身のパスワードに置き換えてください。

(注: MySQL 8.0 のデフォルトのパスワード ポリシーでは、パスワードは大文字と小文字、数字、特殊文字の組み合わせで、8 文字以上である必要があります)

ステップ 7: 新しいユーザーを作成し、認証してリモートでログインします (ルート アカウントを使用して直接ログインしないでください)

• easyoh-mpユーザーを作成し、リモートログインを承認する

mysql> 'easyoh-mp'@'%' というユーザーを作成し、'[email protected]' によって識別します。
クエリは正常、影響を受けた行は 0 行 (0.04 秒)
mysql> 'easyoh-mp'@'%' に *.* のすべての権限を許可します。
クエリは正常、影響を受けた行は 0 行 (0.03 秒)
マイSQL>

•sqlyogクライアントのeasyoh-mpアカウントでログインします(他のクライアントでも可)

プラグイン caching_sha2_password エラーが報告されることが判明しました。これは、MySQL 8.0 のパスワード ポリシーがデフォルトで caching_sha2_password に設定されているためです。 5.7とは異なります。

• MySQLデータベースにアクセスしてユーザーテーブル情報を照会する

mysql> mysql を使用します。
データベースが変更されました
mysql> ユーザーからユーザー、ホスト、プラグインを選択します。
+------------------+------------+-----------------------+
| ユーザー | ホスト | プラグイン |
+------------------+------------+-----------------------+
| easyoh-mp | % | caching_sha2_password |
| mysql.infoschema | ローカルホスト | caching_sha2_password |
| mysql.session | ローカルホスト | caching_sha2_password |
| mysql.sys | ローカルホスト | caching_sha2_password |
| ルート | ローカルホスト | caching_sha2_password |
+------------------+------------+-----------------------+
セット内の行数は 5 です (0.00 秒)
マイSQL>

それは確かにcaching_sha2_passwordであることが判明した

• 次の文を順番に実行する

mysql> ALTER USER 'easyoh-mp'@'%' IDENTIFIED BY '[email protected]' パスワードは無期限です。 
クエリは正常、影響を受けた行は 0 行 (0.04 秒)
mysql> ALTER USER 'easyoh-mp'@'%' は '[email protected]' によって mysql_native_password で識別されます。 
クエリは正常、影響を受けた行は 0 行 (0.05 秒)
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.01 秒)
マイSQL>

再度ログインすると正常にログインされます。

ステップ8: コーディング

mysql> '%character%' のような変数を表示します。
+--------------------------+--------------------------------+
| 変数名 | 値 |
+--------------------------+--------------------------------+
| 文字セットクライアント | utf8mb4 |
| 文字セット接続 | utf8mb4 |
| 文字セットデータベース | utf8mb4 |
| 文字セットファイルシステム | バイナリ |
| 文字セット結果 | utf8mb4 |
| 文字セットサーバー | utf8mb4 |
| 文字セットシステム | utf8 |
| 文字セットディレクトリ | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
セット内の行数は 8 行 (0.01 秒)
マイSQL>

MySQL 8.0 のデフォルトのエンコーディングは utf8mb4 であり、変更する必要はありません。

OK。これで、Mysql のインストールと構成は完了です。

完全なプロセス操作記録

[ルート@VM_0_10_centos ~]# 
[root@VM_0_10_centos /]# cd /usr/local/mysql/
[root@VM_0_10_centos mysql]# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
--2018-08-04 10:29:39-- https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
repo.mysql.com (repo.mysql.com) を解決しています... 23.219.33.198
repo.mysql.com (repo.mysql.com)|23.219.33.198|:443 に接続しています... 接続されました。
HTTP リクエストが送信されました。応答を待っています... 200 OK
長さ: 25820 (25K) [application/x-redhat-package-manager]
保存先: 'mysql80-community-release-el7-1.noarch.rpm'
100%[===============================================================================================>] 25,820 112KB/秒 0.2 秒 
2018-08-04 10:29:40 (112 KB/秒) - 'mysql80-community-release-el7-1.noarch.rpm' を保存しました [25820/25820]
[root@VM_0_10_centos mysql]# ll
合計 28
-rw-r--r-- 1 ルート ルート 25820 4月18日 13:24 mysql80-community-release-el7-1.noarch.rpm
[root@VM_0_10_centos mysql]# yum -y localinstall mysql80-community-release-el7-1.noarch.rpm 
読み込まれたプラグイン: fastestmirror、langpacks
mysql80-community-release-el7-1.noarch.rpm の調査: mysql80-community-release-el7-1.noarch
mysql80-community-release-el7-1.noarch.rpm をインストール対象としてマークする
依存関係の解決
--> トランザクションチェックを実行中
---> パッケージ mysql80-community-release.noarch 0:el7-1 がインストールされます
--> 依存関係の解決が完了しました
依存関係が解決されました
=================================================================================================================================================================================================================
 パッケージ アーキテクチャ バージョン リポジトリ サイズ
=================================================================================================================================================================================================================
インストール中:
 mysql80-community-release noarch el7-1 /mysql80-community-release-el7-1.noarch 31 k
取引概要
=================================================================================================================================================================================================================
1 パッケージをインストール
合計サイズ: 31k
インストールサイズ: 31k
パッケージをダウンロードしています:
トランザクションチェックを実行中
トランザクションテストの実行
トランザクションテストが成功しました
トランザクションの実行
警告: RPMDB が yum の外部で変更されました。
 インストール中:mysql80-community-release-el7-1.noarch 1/1 
 検証中: mysql80-community-release-el7-1.noarch 1/1 
インストール済み:
 mysql80-コミュニティリリース.noarch 0:el7-1                     
完了!
[root@VM_0_10_centos mysql]# yum -y mysql-community-server をインストールします
読み込まれたプラグイン: fastestmirror、langpacks
キャッシュされたホストファイルからミラー速度をロードする
エペル 12641/12641
依存関係の解決
--> トランザクションチェックを実行中
---> パッケージ mysql-community-server.x86_64 0:8.0.12-1.el7 がインストールされます
--> 依存関係の処理: パッケージ: mysql-community-server-8.0.12-1.el7.x86_64 の mysql-community-common(x86-64) = 8.0.12-1.el7
--> 依存関係の処理: mysql-community-client(x86-64) >= 8.0.0 (パッケージ: mysql-community-server-8.0.12-1.el7.x86_64)
--> トランザクションチェックを実行中
---> パッケージ mysql-community-client.x86_64 0:8.0.12-1.el7 がインストールされます
--> 依存関係の処理: パッケージ: mysql-community-client-8.0.12-1.el7.x86_64 の mysql-community-libs(x86-64) >= 8.0.0
---> パッケージ mysql-community-common.x86_64 0:8.0.12-1.el7 がインストールされます
--> トランザクションチェックを実行中
---> パッケージ mysql-community-libs.x86_64 0:8.0.12-1.el7 がインストールされます
--> 依存関係の解決が完了しました
依存関係が解決されました
=================================================================================================================================================================================================================
 パッケージ アーキテクチャ バージョン リポジトリ サイズ
=================================================================================================================================================================================================================
インストール中:
 mysql-community-server x86_64 8.0.12-1.el7 mysql80-community 349 M
依存関係をインストールしています:
 mysql-コミュニティクライアント x86_64 8.0.12-1.el7 mysql80-コミュニティ 26 M
 mysql-community-common x86_64 8.0.12-1.el7 mysql80-community 541 k
 mysql-community-libs x86_64 8.0.12-1.el7 mysql80-community 2.2 M
取引概要
=================================================================================================================================================================================================================
1 つのパッケージをインストールします (+3 つの依存パッケージ)
合計ダウンロードサイズ: 377 MB
インストールサイズ: 1.7 G
パッケージをダウンロードしています:
(1/4): mysql-community-common-8.0.12-1.el7.x86_64.rpm | 541 kB 00:00:05 
(2/4): mysql-community-client-8.0.12-1.el7.x86_64.rpm | 26 MB 00:00:12 
(3/4): mysql-community-server-8.0.12-1.el7.x86_64.rpm | 349 MB 00:02:26 
(4/4): mysql-community-libs-8.0.12-1.el7.x86_64.rpm | 2.2 MB 00:03:37 
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 1.7 MB/秒 | 377 MB 00:03:43 
トランザクションチェックを実行中
トランザクションテストの実行
トランザクションテストが成功しました
トランザクションの実行
 インストール中: mysql-community-common-8.0.12-1.el7.x86_64 1/4 
 インストール中: mysql-community-libs-8.0.12-1.el7.x86_64 2/4 
 インストール中: mysql-community-client-8.0.12-1.el7.x86_64 3/4 
 インストール中: mysql-community-server-8.0.12-1.el7.x86_64 4/4 
 検証中: mysql-community-common-8.0.12-1.el7.x86_64 1/4 
 検証中: mysql-community-libs-8.0.12-1.el7.x86_64 2/4 
 検証中: mysql-community-client-8.0.12-1.el7.x86_64 3/4 
 検証中: mysql-community-server-8.0.12-1.el7.x86_64 4/4 
インストール済み:
 mysql-コミュニティサーバー.x86_64 0:8.0.12-1.el7                     
依存関係がインストールされました:
 mysql-community-client.x86_64 0:8.0.12-1.el7 mysql-community-common.x86_64 0:8.0.12-1.el7 mysql-community-libs.x86_64 0:8.0.12-1.el7    
完了!
[root@VM_0_10_centos mysql]# systemctl でmysqldを起動します
[root@VM_0_10_centos mysql]# systemctl で mysqld を有効にします
[root@VM_0_10_centos mysql]# systemctl デーモンリロード
[root@VM_0_10_centos mysql]# grep "root@localhost の一時パスワードが生成されました" /var/log/mysqld.log 
2018-08-02T02:19:55.829527Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: !J:KUwU9y0ZR
2018-08-02T04:49:34.979689Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: pw</s9,Wivm2
2018-08-04T02:40:46.781768Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: nNyK,Y)Wd0-G
[root@VM_0_10_centos mysql]# mysql -uroot -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは8です
サーバーバージョン: 8.0.12
Copyright (c) 2000, 2018, Oracle およびその関連会社。無断複写・転載を禁じます。
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
mysql> ALTER USER 'root'@'localhost' が '[email protected]' によって識別されます。
クエリは正常、影響を受けた行は 0 行 (0.03 秒)
mysql> 'easyoh-mp'@'%' というユーザーを作成し、'[email protected]' で識別します。
クエリは正常、影響を受けた行は 0 行 (0.04 秒)
mysql> 'easyoh-mp'@'%' に *.* のすべての権限を許可します。
クエリは正常、影響を受けた行は 0 行 (0.03 秒)
mysql> mysql を使用します。
データベースが変更されました
mysql> ユーザーからユーザー、ホスト、プラグインを選択します。
+------------------+------------+-----------------------+
| ユーザー | ホスト | プラグイン |
+------------------+------------+-----------------------+
| easyoh-mp | % | caching_sha2_password |
| mysql.infoschema | ローカルホスト | caching_sha2_password |
| mysql.session | ローカルホスト | caching_sha2_password |
| mysql.sys | ローカルホスト | caching_sha2_password |
| ルート | ローカルホスト | caching_sha2_password |
+------------------+------------+-----------------------+
セット内の行数は 5 です (0.00 秒)
mysql> ALTER USER 'easyoh-mp'@'%' IDENTIFIED BY '[email protected]' パスワードは無期限です。 
クエリは正常、影響を受けた行は 0 行 (0.04 秒)
mysql> ALTER USER 'easyoh-mp'@'%' は '[email protected]' によって mysql_native_password で識別されます。 
クエリは正常、影響を受けた行は 0 行 (0.05 秒)
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.01 秒)
mysql> '%character%' のような変数を表示します。
+--------------------------+--------------------------------+
| 変数名 | 値 |
+--------------------------+--------------------------------+
| 文字セットクライアント | utf8mb4 |
| 文字セット接続 | utf8mb4 |
| 文字セットデータベース | utf8mb4 |
| 文字セットファイルシステム | バイナリ |
| 文字セット結果 | utf8mb4 |
| 文字セットサーバー | utf8mb4 |
| 文字セットシステム | utf8 |
| 文字セットディレクトリ | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
セット内の行数は 8 行 (0.01 秒)

ここで問題があります。新しいパスワードがあまりにも単純に設定されていると、エラーが報告されます。

その理由は、MySQL にはパスワード設定仕様があり、それが特に validate_password_policy の値に関連しているからです。

MySQL の完全な初期パスワード ルールは、次のコマンドを使用して表示できます。

mysql> 'validate_password%' のような変数を表示します。
+--------------------------------------+-------+
| 変数名 | 値 |
+--------------------------------------+-------+
| ユーザー名のパスワードチェックを検証 | オフ |
| パスワード辞書ファイルを検証する | |
| パスワードの長さを検証 | 4 |
| パスワードの大文字と小文字が混在するカウントを検証 | 1 |
| パスワードの検証回数 | 1 |
| パスワードポリシーの検証 | 低 |
| パスワードの特殊文字数を検証 | 1 |
+--------------------------------------+-------+
セット内の行数は 7 です (0.01 秒)

パスワードの長さはvalidate_password_lengthによって決定され、validate_password_lengthの計算式は次のとおりです。

検証パスワードの長さ = 検証パスワードの数値の数 + 検証パスワードの特殊文字の数 + (2 * 検証パスワードの大文字と小文字が混在した数)

私のものは変更されました。最初は、最初の値は ON で、validate_password_length は 8 です。次のコマンドで変更できます。

mysql> グローバルvalidate_password_policyを0に設定します。
mysql> グローバルvalidate_password_lengthを1に設定します。

要約する

上記は、CentOS 7.4 64 ビットに MySQL 8.0 をインストールして構成するための詳細な手順です。お役に立てば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • CentOS 6.4 MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル
  • CentOS 6.5 に MySQL 5.7.17 バイナリ インストールとマルチインスタンス構成を展開する
  • MySQL 5.7.17 のインストールと設定方法のグラフィックチュートリアル (CentOS7)
  • CentOS 7 で MySQL ソースを設定し、yum を使用して MySQL をインストールする
  • CentOS 7.2 での MySQL のインストールと設定
  • Alibaba Cloud の CentOS 環境での MySQL のインストールと設定に関するチュートリアル
  • Centos に複数の MySQL データをインストールする設定例
  • CentOS 6.4 のインストールと LAMP サーバーの設定 (Apache+PHP5+MySQL)
  • CentOS 6.4 のインストールと LNMP サーバーの設定 (Nginx+PHP+MySQL)
  • CentOS 5.4 サーバー構成 yum install Apache+php+MySQL

<<:  Linux sshのデフォルトのリモートポート番号を変更する6つの手順

>>:  Vue でポップアップ ウィンドウをクリックしたときにクリック イベントを自動的にトリガーするソリューション (シミュレーション シナリオ)

推薦する

nginx+php実行リクエストの動作原理の詳細な説明

PHPの仕組みまず、よく耳にするcgi、php-cgi、fastcgi、php-fpmの関係を理解し...

Nginx プロセス管理とリロードの原則の詳細な説明

プロセス構造図Nginx はマルチプロセス構造です。マルチプロセス構造は、次のような Nginx の...

つまり、フィルターコレクション

IE は開発の初期段階では頭を悩ませましたが、他のブラウザとは異なります。他のブラウザがサポートして...

美しいHTMLコードの書き方

美しい HTML コードの外観 美しい HTML コードの書き方。外国人が書いた記事: 美しい HT...

Vueのスロットの詳細な説明

Vue でのコードの再利用により、mixnis が提供されます。テンプレートの再利用により、スロット...

Vue を通じて QR コードスキャン機能を実装する

ヒントこのプラグインは https プロトコルでのみアクセスできます。http プロトコルはうまく機...

Tomcat は親の委任メカニズムを破壊して Web アプリケーションの分離を実現します。

目次Tomcat クラスローダー階層WebAppクラスローダー共有クラスローダーカタリナクラスローダ...

Linux ドメイン ネーム サービス DNS 設定方法

DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...

CentOS仮想マシンの時刻を変更する方法

上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...

CSS スティッキーレイアウトを使用してヘッダーを上部に配置する方法

適用シナリオ:新しい要件の 1 つはアンケート調査を行うことですが、必然的に多くの質問が含まれ、1 ...

Docker デプロイメント RabbitMQ コンテナ実装プロセス分析

1. イメージをプルするまず、次のコマンドを実行して、イメージをローカル コンピューターにダウンロー...

Html+CSS フローティング広告ストリップの実装

1.html部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> ...

Kali に docker と portainer をインストールする方法

dockerの登場により、多くのサービスが徐々にハードウェアアーキテクチャへの依存から脱却しました。...

WindowsとLinux間でファイルを転送する方法

WindowsとLinux間のファイル転送(1)WinSCPを使用して、WindowsファイルをLi...

CSSでカスタムフォント(font-face)を導入する方法の詳細な説明

なぜこれを使ったのか?それはポスターを作ることから始まりました。それは嵐の夜でした。 。 。さて、無...