MySql 8.0.11 のインストールと設定のチュートリアル

MySql 8.0.11 のインストールと設定のチュートリアル

公式ウェブサイトアドレス: https://dev.mysql.com/downloads/mysql/

ここでは RHEL6.5 システムを使用しているため、RedHat 6 x86、64 ビット オペレーティング システムを選択し、最初の RPM バンドル (mysql-8.0.11-1.el6.x86_64.rpm-bundle.tar) をダウンロードします。

現在、MySQL 8.0.11 Community Edition ではさまざまなインストール方法が提供されていますが、Linux Generic インストール パッケージに含まれる mysql_secure_installation のインストール手順は見つかりませんでした。

したがって、ここでは推奨される RPM インストールが使用されます。

1. mysql-8.0.11-1.el6.x86_64.rpm-bundle.tar を解凍すると、次の 7 つのファイルが存在します。

-rw-r--r-- 1 ルート ルート 28987588 4月9日 01:06 mysql-community-client-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 ルート ルート 672184 4月9日 01:06 mysql-community-common-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 ルート ルート 4443296 4月9日 01:06 mysql-community-devel-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 ルート ルート 2579460 4月9日 01:06 mysql-community-libs-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 ルート ルート 1902676 4月9日 01:06 mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 ルート ルート 395918848 4月9日 01:07 mysql-community-server-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 ルート ルート 49092596 4月9日 01:07 mysql-community-test-8.0.11-1.el6.x86_64.rpm

次に、mysql ユーザーを作成します。

ユーザー追加mysql
パスワードMySQL

2. インストールの順序は次のとおりです: (インストール前に以前の MySQL 関連パッケージをすべてアンインストールすることをお勧めします。rpm -e --nodeps <パッケージ名> で十分です)

[root@python ~]# rpm -ivh mysql-community-common-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-common-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
準備中... ################################################ [100%]
  1:mysql-community-common ##################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-libs-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-libs-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
準備中... ################################################ [100%]
  1:mysql-community-libs ##################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
準備中... ################################################ [100%]
  mysql-community-libs-compat-8.0.11-1.el6.x86_64 のインストールからのファイル /usr/lib64/mysql/libmysqlclient.so.16.0.0 は、パッケージ mysql-libs-5.1.73-8.0.1.el6_8.x86_64 のファイルと競合しています。
  mysql-community-libs-compat-8.0.11-1.el6.x86_64 のインストールからのファイル /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 は、パッケージ mysql-libs-5.1.73-8.0.1.el6_8.x86_64 のファイルと競合しています。
[root@python ~]# rpm -e --nodeps mysql-libs-5.1.73-8.0.1.el6_8.x86_64
[root@python ~]# rpm -ivh mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
準備中... ################################################ [100%]
  1:mysql-community-libs-co##################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-server-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-server-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
エラー: 依存関係に失敗しました:
  mysql-community-server-8.0.11-1.el6.x86_64 には、mysql-community-client(x86-64) >= 8.0.0 が必要です。
[root@python ~]# rpm -ivh mysql-community-client-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-client-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
準備中... ################################################ [100%]
  1:mysql-community-client ##################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-server-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-server-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
準備中... ################################################ [100%]
  1:mysql-community-server ################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-devel-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-devel-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
準備中... ################################################ [100%]
  1:mysql-community-devel #################################################### [100%]
^[[A[root@python ~]# rpm -ivh mysql-community-test-8.0.11-1.el6.x86_64.rpm
警告: mysql-community-test-8.0.11-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY
エラー: 依存関係に失敗しました:
  perl(JSON) は mysql-community-test-8.0.11-1.el6.x86_64 に必要です
--perl をインストールするのが面倒なので、テスト スイートはインストールしません。

3. インストールが完了すると、関連情報は次のようになります。

[root@python ~]# mysql -V
x86_64 上の Linux 用 mysql Ver 8.0.11 (MySQL コミュニティ サーバー - GPL)
[root@python ~]# ll /etc/init.d/mysqld
-rwxr-xr-x 1 ルート ルート 7166 4月8日 16:21 /etc/init.d/mysqld
[root@python ~]# ll /etc/my.cnf --設定ファイルの場所-rw-r--r-- 1 root root 1188 Apr 8 16:21 /etc/my.cnf

デフォルトのデータディレクトリは /var/lib/mysql/ にありますが、my.cnf を変更することで変更できます。起動コマンドは次のとおりです。

[root@python ~]# サービスmysqldを起動します
MySQLデータベースを初期化しています: [ OK ]
mysqld を起動しています:  
[ わかりました ]

4. パスワードなしではログインできないことがわかったので、my.cnfにskip-grant-tablesを追加し、再起動してパスワードをリセットしました。

mysql> 'mysql' で識別されるユーザー root@'localhost' を変更します。
エラー 1290 (HY000): MySQL サーバーは --skip-grant-tables オプションで実行されているため、このステートメントを実行できません
mysql>終了
さよなら

変更できません。 。 。それから:

mysql> user='root' の場合、mysql.user から削除します。
クエリは正常、1 行が影響を受けました (0.10 秒)
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
mysql> 'mysql' で識別されるユーザー root@'localhost' を作成します。
エラー 1819 (HY000): パスワードが現在のポリシー要件を満たしていません

それでも変更できない場合は、パスワードの複雑さの要件を確認してください。

mysql> '%pass%' のような変数を表示します。
+------------------------------------------------+-----------------+
| 変数名 | 値 |
+------------------------------------------------+-----------------+
| caching_sha2_password_auto_generate_rsa_keys | オン |
| caching_sha2_password_private_key_path | プライベートキー.pem |
| caching_sha2_password_public_key_path | 公開キー.pem |
| デフォルトパスワードの有効期間 | 0 |
| パスワードの有効期限が切れると切断 | オン |
| mysql_native_password_proxy_users | オフ |
| パスワード履歴 | 0 |
| パスワード再利用間隔 | 0 |
| レポートパスワード | |
| sha256_password_auto_generate_rsa_keys | オン |
| sha256_password_private_key_path | 秘密キー.pem |
| sha256_password_proxy_users | オフ |
| sha256_password_public_key_path | 公開キー.pem |
| パスワードの検証.ユーザー名のチェック | オン |
| パスワード辞書ファイルを検証 | |
| パスワードの検証の長さ | 8 |
| パスワードを検証します。大文字と小文字が混在するカウント | 1 |
| パスワードの検証数 | 1 |
| 検証パスワードポリシー | 中 |
| パスワードの検証.特殊文字数 | 1 |
+------------------------------------------------+-----------------+

公式サイトをご覧ください https://dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html#sysvar_validate_password.policy

以下に示すように、そのような値が 3 つあることがわかります。

したがって、これを 0 に設定し、validate_password.length を 4 に設定して、少なくとも 4 文字が必要であることを示します。 4 に設定されている理由は、このパラメータの値が次の数式の結果より小さくなることはできないためです。

パスワードの検証.数値カウント
+ パスワードの検証.特殊文字数
+ (2 * 検証パスワード大文字小文字の混在数)

引き続きユーザーを作成します。MySQL 8.0 では、ユーザーを直接付与する構文が廃止されました。最初にユーザーを作成してから付与することしかできません。したがって、次のようにして root を作成します。

mysql> 'mysql' で識別されるユーザー root@'localhost' を作成します。
エラー 1396 (HY000): 'root'@'localhost' の CREATE USER 操作が失敗しました
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
mysql> 'mysql' で識別されるユーザー root@'localhost' を作成します。
エラー 1396 (HY000): 'root'@'localhost' の CREATE USER 操作が失敗しました

くそ…一体何なんだ?

そこで、stackoverflow を調べてみたところ、みんながバグだと言っていたので、次の操作を実行しました。

mysql> drop user root@'localhost'; --はい、その通りです。root@'localhost' ユーザーは存在しませんが、削除する必要があります。
クエリは正常、影響を受けた行は 0 行 (0.05 秒)
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.01 秒)
mysql> 'mysql' で識別されるユーザー root@'localhost' を作成します。
クエリは正常、影響を受けた行は 0 行 (0.03 秒)
mysql> grant option を使用して、*.* 上のすべての権限を root@'localhost' に付与します。
クエリは正常、影響を受けた行は 0 行 (0.03 秒)

最後にパスワードを変更しました...パラメータ ファイル内の skip-grant-tables パラメータを削除し、service mysqld restart でサービスを再起動します。

5. 最後に、パスワードを設定します。テストユーザー leo を作成し、リモート接続を試みます。

$ mysql -uleo -pmysql -h192.168.1.193
mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。
エラー 2059 (HY000): 認証プラグイン 'caching_sha2_password' をロードできません: /usr/lib/mysql/plugin/caching_sha2_password.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

5.7 mysql ツールが接続できないのは困ったものです。認証関連のパラメータを確認してください:

mysql> '%auth%' のような変数を表示します。
+---------------------------------+-----------------------+
| 変数名 | 値 |
+---------------------------------+-----------------------+
| デフォルト認証プラグイン | キャッシュsha2パスワード |
+---------------------------------+-----------------------+
セット内の1行(0.02秒)

公式ウェブサイトを確認すると、この値は次のようになります。

公式サイトには、create user で auth plugin を明示的に指定しない場合、この値はパスワードのデフォルトの暗号化アルゴリズムに影響するとも書かれています。くそっ... 以前作成した leo ユーザーはデフォルトの caching_sha2_password 認証を使用しているということではないでしょうか? 確認してみましょう:

mysql> mysql.user からユーザー、ホスト、プラグインを選択します。
+------------------+------------+-----------------------+
| ユーザー | ホスト | プラグイン |
+------------------+------------+-----------------------+
| leo | % | caching_sha2_password |
| mysql.infoschema | ローカルホスト | mysql_native_password |
| mysql.session | ローカルホスト | mysql_native_password |
| mysql.sys | ローカルホスト | mysql_native_password |
| ルート | ローカルホスト | caching_sha2_password |
+------------------+------------+-----------------------+

もう終わった。もう全部終わったんだ...

当然ながら、プラグインを単に更新するだけでは暗号化されたパスワードが正しく復号化されず、すべてのパスワードが変更される可能性があるため、root@'localhost' 以外のすべてを削除して再構築する必要があります。

まず、my.cnf に default_authentication_plugin=mysql_native_password を追加し、service mysqld restart でサービスを再起動する必要があります。

mysql> ユーザー leo を削除します。
クエリは正常、影響を受けた行は 0 行 (0.10 秒)
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
mysql> 'mysql' で識別されるユーザー leo を作成します。
クエリは正常、影響を受けた行は 0 行 (0.02 秒)
mysql> *.* のすべての権限を leo に付与します。
クエリは正常、影響を受けた行は 0 行 (0.08 秒)

$mysql -V
mysql Ver 14.14 Distrib 5.7.20、Linux (x86_64) 用、EditLine ラッパー使用
$ mysql -uleo -pmysql -h192.168.1.193
mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは16です
サーバーバージョン: 8.0.11 MySQL コミュニティサーバー - GPL
Copyright (c) 2000, 2017, Oracle およびその関連会社。無断複写・転載を禁じます。
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
マイSQL>

これまでのところ、リモート接続は正常です。

要約する

上記は、編集者が紹介したMySql 8.0.11のインストールと構成のチュートリアルです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL 8.0.11 インストール概要チュートリアル図
  • mysql-8.0.11-winx64.zip の詳細なインストール チュートリアル
  • mysql8.0.11 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)
  • MySQL Community Server 8.0.11 のインストールと設定方法のグラフィックチュートリアル
  • MySQL 8.0.11 Community Green Edition の Windows 用インストール手順図
  • MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル
  • MySQL 8.0.11 MacOS 10.13 のインストールと設定方法のグラフィックチュートリアル
  • MySQL 8.0.11 圧縮バージョンを Windows 10 にインストールするための詳細なチュートリアル
  • MySQL 8.0.11 MSI バージョンのインストールと構成のグラフィック チュートリアル
  • MySQL 8.0.11 Mac 用インストール ガイド

<<:  NodeJs の高メモリ使用量のトラブルシューティング実戦記録

>>:  Linux でハイパースレッディング技術を動的に有効/無効にする方法の詳細な説明

推薦する

CSS フィルターを使用してマウスオーバー効果を記述する例

CSSフィルターを使用してマウスオーバー効果を記述する <div class="fi...

Docker で Redis センチネル モードを構成する方法 (複数のサーバー上)

目次序文状態DockerをインストールするRedisのマスターノードとスレーブノードを構成する序文以...

Vue の新しいパートナー TypeScript クイックスタート実践記録

目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...

Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...

Vue3 親子コンポーネントパラメータ転送における sync 修飾子の使用法の詳細な説明

目次一方向データフローの説明Vue2.x の使用法親コンポーネントに変更を通知するイベントのフォーム...

Docker Alibaba Cloud RocketMQ 4.5.1 のデプロイプロセスの詳細な説明

検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...

一般的な CSS プロパティのブラウザ互換性の概要 (推奨)

CSS プロパティのブラウザ互換性をまとめる必要があるのはなぜですか?使用する際は、Can I U...

NextCloud プライベート クラウド ストレージ ネットワーク ディスクの構築に関する詳細なチュートリアル

Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...

HTML テーブル マウス ドラッグ ソート機能

効果画像: 1. ファイルをインポートする<script src="js/jquer...

VMware 仮想マシン ブリッジ モードでインターネットにアクセスできない問題を解決する方法

ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...

Vue Router の 10 の高度なヒントのまとめ

序文Vue Router は、Vue.js の公式ルーティング マネージャーです。 Vue.js の...

Vue での props の使い方の紹介

序文: Vue では、props を使用して、もともと分離されていたコンポーネントを直列に接続するこ...

JavaScript に関する 6 つの奇妙で便利な点

目次1. 解体のヒント2. デジタルセパレーター3. try...catch...finally が...

Docker データ ストレージ tmpfs マウントの詳細な説明

この記事を読む前に、ボリュームとバインドマウントの基本を理解しておいてください。詳細については、次の...

Vueプロジェクトでページジャンプを実装する方法

目次1. vue-cli デフォルト プロジェクトを作成する (babel のみを含む) 2. 作成...