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

推薦する

Docker で MySQL をデプロイする詳細なプロセス (Docker でデプロイされる一般的なアプリケーション)

以前にも紹介しました: docker (一般的なアプリケーションのデプロイ): docker dep...

Linuxのtimeコマンドの使い方の詳しい説明

1. コマンドの紹介時間は、コマンドの実行に費やされた時間や関連するシステム リソース、その他の情報...

ウェブフロントエンド開発者が知っておくべき 9 つの実用的な CSS プロパティ

1. 角を丸くする今日の Web デザインは、常に最新の開発テクノロジーに追随しており、HTML5 ...

モバイル ブラウザのビューポート パラメータ (Web フロントエンド デザイン)

モバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置します。このウィン...

検索ボックスと検索ボタンの境界線が重なり合わない問題を解決

今日、Baiduのページで練習していたところ、検索ボックスとボタンの余白とパディングの値が0に設定さ...

21 の MySQL 標準化および最適化のベスト プラクティス!

序文良い習慣はすべて宝物です。この記事は、SQL の後悔の治療法、SQL パフォーマンスの最適化、S...

MySQL 5.7.21 解凍版のインストールと設定方法のグラフィックチュートリアル

私は頻繁にシステムをインストールするので、インストールのたびにいくつかのソフトウェアを再インストール...

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...

Vue で className として空の文字列を使用することはなぜ推奨されないのですか?

目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する &#...

ポータルサイト再設計のユーザーエクスペリエンス

<br />2006年10月12日のNetEaseの新ホームページの公開から、2008年...

Vue ルーターにパラメータを渡すときにページを更新するとパラメータが失われる問題に対処する方法

目次概要方法1: params経由でパラメータを渡す方法2: クエリを通じてパラメータを渡す方法3:...

Linux で開いているポートへのリモート アクセスを許可する方法

1. ファイアウォール設定ファイルを変更する # vi /etc/sysconfig/iptable...

JavaScript オブジェクトの組み込みオブジェクト、値型、参照型の説明

目次物体オブジェクト定義オブジェクトのメンバーを反復処理するJS組み込みオブジェクト数学オブジェクト...

太陽系の惑星のアニメーション効果を実現するHTML+CSS3コード

太陽系の 8 つの惑星(衛星を除く)のアニメーションを作成します。すべての惑星は太陽の周りを回ってい...

CentOS7環境でDockerを使ってPHP動作環境を構築する手順を詳しく解説

関連記事: CentOS7でyumを使用してDockerをインストールするDockerを使ってWin...