CentOS 7 に MySQL 8 をインストールするための詳細なチュートリアル

CentOS 7 に MySQL 8 をインストールするための詳細なチュートリアル

準備する

この記事の環境情報:

ソフトウェアバージョン
セントOSセントOS7.4
マイグレーション8.0.x

インストール前にすべてのシステムパッケージを更新します

sudo yum update

インストール

1. Yumパッケージを追加する

https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm を実行します。
# または wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
sudo yum アップデート
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

注: 最新の rpm パッケージ名は公式 Web サイトで確認できます。

2. MySQLをインストールする

# インストール sudo yum -y install mysql-community-server
# デーモンプロセスを起動します sudo systemctl start mysqld
# ステータスを確認する sudo systemctl status mysqld
# バージョンを確認する mysql -V

インストール後、システムの起動時に MySQL が自動的に起動します。自動的に起動したくない場合は、systemctl enable mysqld を使用してシャットダウンできます。

3. パスワードを変更する

MySQL のインストール プロセス中に、root ユーザーの一時パスワードが生成され、/var/log/mysqld.log に保存されます。次のコマンドを使用して表示します。
sudo grep '一時パスワード' /var/log/mysqld.log

MySQL クライアントに入り、以下を変更します。

mysql -u ルート -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
# ALTER USER 'root'@ IDENTIFIED BY 'your password';

パスワードの強度要件は、12 文字以上で、大文字、小文字、数字、特殊文字を含めることです。

3. MySQLのセキュリティ設定

MySQL には、セキュリティ オプションを変更するために使用できるセキュリティ ウィザード スクリプトが含まれています。

sudo mysql_secure_installation

実行後、以下の項目を順番に設定してください。

1. ルートアカウントのパスワードを変更する
2. パスワード強度検証プラグイン(推奨)
3. 匿名ユーザーを削除する(推奨)
4. ルートアカウントのリモートログインを無効にする
5. テストデータベース(テスト)を削除します。

個人の状況に応じて設定します。

ユーザー権限

1. 権限を付与する

# ローカルユーザーを作成します。CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
# 新しいリモート ユーザーを作成します CREATE USER 'user'@'%' IDENTIFIED BY 'password';
# 新しいデータベースを作成します CREATE DATABASE test_db;
# ユーザー権限を表示する SHOW GRANTS FOR 'user'@'%';
# 指定されたデータベースへのリモート アクセス権をユーザーに付与します GRANT ALL PRIVILEGES ON test_db.* TO 'user'@'%';
# ユーザーにすべてのデータベースへのリモート アクセス権を付与します GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
# ユーザーにすべてのデータベースへのローカル アクセス権を付与します。GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
# 権限をフラッシュします。

2. 権限を取り消す

# 権限を取り消す REVOKE ALL PRIVILEGES ON *.* FROM 'test'@'%';
# ローカルユーザーを削除します。DROP USER 'user'@'localhost';
# リモートユーザーを削除します DROP USER 'user'@'%';
# 権限をフラッシュします。

3. リモートログイン

mysql データベース内のユーザー テーブル情報を表示します。

mysql を使用します。
ユーザーからホスト、ユーザー、認証文字列、プラグインを選択します。

表内の root ユーザーのデフォルト ホストは localhost であり、ローカル アクセスのみが許可されます。ルート ユーザーに完全な権限を付与し、リモート アクセスを設定します。

# 承認 GRANT ALL ON *.* TO 'root'@'%';
# 権限をフラッシュします。

ルート ユーザーのデフォルトのパスワード暗号化方法は caching_sha2_password です。ただし、多くのグラフィカル クライアント ツールはこの暗号化認証方法をサポートしていない可能性があり、接続時にエラーが報告されます。次のコマンドを使用してパスワードを再度変更します。

ALTER USER 'root'@'%' を 'your password' によって mysql_native_password で識別します。

ここでは、ルート パスワードの暗号化方法は mysql_native_password として指定されています。デフォルトのパスワード暗号化方法を変更する場合は、/etc/my.cnf ファイルに次の行を追加します。

デフォルト認証プラグイン=mysql_native_password

サーバーでファイアウォールが有効になっている場合は、ポート 3306 を開く必要があります。

ファイアウォールコマンド --add-port=3306/tcp --permanent
ファイアウォール-cmd --reload

注: クラウド サーバーの場合、一部のサービス プロバイダー (Alibaba Cloud など) では、コンソールでポートを開く必要があります。

文字エンコードを変更する

文字セットは、シンボルとエンコーディングのセットです。文字セットの構成を表示するには、次の手順を実行します。

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

文字セットは次のように有効になります: テーブルはデータベースから継承し、データベースはサーバーから継承します。つまり、character_set_server のみを設定できます。

照合とは、文字セット内の文字を比較するために使用される一連の規則です。照合を表示するには:

mysql> 'utf8%' のような文字セットを表示します。
+---------+---------------+---------------------+--------+
| 文字セット | 説明 | デフォルトの照合順序 | Maxlen |
+---------+---------------+---------------------+--------+
| utf8 | UTF-8 ユニコード | utf8_general_ci | 3 |
| utf8mb4 | UTF-8 ユニコード | utf8mb4_0900_ai_ci | 4 |
+---------+---------------+---------------------+--------+

照合ルールの有効性ルール: 照合ルールが設定されていない場合、文字セットはデフォルトの照合ルールを使用します。たとえば、utf8mb4 の照合ルールは utf8mb4_0900_ai_ci です。

MySQL 8 のデフォルトの文字セットが utf8mb4 に変更されました。以前の MySQL バージョンのデフォルトの文字セットが utf8mb4 でない場合は、utf8mb4 に変更することをお勧めします。

mb4 は最大バイト数が 4 であることを意味します。なぜ utf8 ではなく utf8mb4 なのでしょうか? MySQL でサポートされている utf8 エンコーディングの最大文字長は 3 バイトです。4 バイト幅の文字が検出されると、挿入例外が発生します。

以下は、MySQL の古いバージョンで文字セットを utf8mb4 に変更する手順です。MySQL 8.0 以降では変更は必要ありません。

# 設定ファイルの場所を表示します。my.cnf

# ファイルを開く vi /etc/my.cnf

文字エンコーディング設定項目を追加します。

[クライアント]
デフォルトの文字セット=utf8mb4

[mysqld]
文字セットサーバー=utf8mb4
照合サーバー=utf8mb4_general_ci

MySQLサービスを再起動する

sudo systemctl でmysqldを再起動します。

MySQL コマンドを使用して、文字セットの設定を確認します。

'charac%' のような変数を表示します。

参照する

https://dev.mysql.com/doc/mysql-yum-repo-クイックガイド/en/

centos-mysql8 セットアップ

推薦する:

興味のある方は、編集者のWeChat公開アカウント[ Coder’s Stuff ]をフォローして、Webページ制作の特殊効果のソースコードや学習資料をさらに入手してください。 ! !

要約する

上記は CentOS 7 に MySQL 8 をインストールする方法についての詳細なチュートリアルです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • CentOS 7.4 にソースコードから MySQL 8.0 をインストールするための詳細なチュートリアル
  • Centos7 への mysql8.0rpm のインストール チュートリアル
  • Centos7 で yum を使用して Mysql5.7.19 をインストールする詳細な手順
  • Linux の Centos7 に Mysql5.7.19 をインストールする詳細なチュートリアル
  • Centos7 に yum を使用して MySQL をインストールし、リモート接続を実現する方法
  • Centos 7.2 で YUM を使用して MySQL 5.7 をすばやくインストールする方法

<<:  MySQL5.7 マスタースレーブ構成例の分析

>>:  MySQL 5.7.17 winx64 のインストールと設定のチュートリアル

推薦する

Nginx 構成の実装 https

目次1: https証明書を準備する2: nginx sslモジュールを準備する3: SSL証明書を...

Dockerのインストール、イメージの作成、NodeJSプログラムの読み込みと実行の詳細なプロセス

システム環境: Windows 7 1. DockerをインストールするDocker公式サイトからd...

フォームの読み取り専用属性と無効な属性についての簡単な説明

フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...

MySQL データベースを最適化する 8 つの方法の詳細な説明 (必読の定番)

導入:インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質に...

ウェブサイトのデザインを改善するための役立つ提案を提供します

<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...

txt ブックの内容を Web ページに表示するコード

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1...

MySQL マルチテーブルクエリの詳細な説明

よく食べて十分に休息を取るというのは簡単なことのように思えますが、実際に実行するのはそれほど簡単では...

Linuxコマンドとファイル検索の詳しい説明

1. ファイル名検索を実行するwhich ('実行可能ファイル' を検索) //PA...

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

Element-UIの10の驚くべきトリックのまとめ

目次el-scrollbar スクロールバーel-uploadはクリックをシミュレートしますel-s...

Linux インストール MongoDB の起動と一般的な問題の解決

MongoDB のインストール プロセスと問題記録1. MongoDBのインストールMongoDBを...

JavaScript 配列と非配列オブジェクトのディープ クローンとシャロー クローンの原則の詳細な説明

目次シャロークローニングとディープクローニングとは何ですか? 1. アレイのクローンを作成する1.1...

HTML でのフォームとフォーム送信操作に関する情報のコレクション

ここでは、フォーム要素とフォーム送信に関する知識を紹介します。フォーム要素フォーム要素の DOM イ...

JavaScript キャンバスで動的な点と線の効果を実現

この記事では、動的な点と線の効果を実現するためのJavaScriptキャンバスの具体的なコードを参考...

Centos7.3 Nginx をインストールして展開し、https を設定する方法

設置環境1. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...