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 のインストールと設定のチュートリアル

推薦する

HTMLで下線を設定するには?HTMLでテキストに下線を付ける方法

HTML で下線を引くには、以前はテキストを <u></u> タグで囲む必要...

インタラクティブデザインでページングと読み込みのどちらを選択するかについての説明

この記事の著者@子木yoyoが個人ブログに投稿したものです。 Web ページでもモバイル アプリでも...

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...

CocosCreator でカメラトラッキングに cc.follow を使用する方法

Cocos Creator バージョン: 2.3.4デモのダウンロード: https://files...

MySQL 5.7.17 のインストールと使用方法のグラフィックチュートリアル

MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...

JS初心者が配列を処理するための実践的な方法のまとめ

join() メソッド: 指定された区切り文字を使用して配列内のすべての要素を文字列に接続します。例...

JavaScript キャンバスでカラフルな太陽のハロー効果を実現

この記事では、カラフルな太陽のハロー効果を実現するためのJavaScriptキャンバスの具体的なコー...

Vue+Echart 棒グラフで疫病データ統計を実現

目次1. まずプロジェクトにechartsをインストールします2. echartsに縦棒グラフテンプ...

HTMLフォーム要素の包括的な理解

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<!DO...

Svelte の Defer Transition を Vue で実装する方法

最近、Rich Harris の <Rethinking Reactivity> ビデオ...

DockerはGitを使用してJenkinsのリリースとテストプロジェクトの詳細なプロセスを実装します

目次1. Dockerをインストールする2. カスタムネットワークアドレスを作成する3. Docke...

dockerfile における ENTRYPOINT と CMD の組み合わせと違い

前回の記事【dockerコンテナのためのdockerfileを詳しく解説】では、dockerfile...

ウェブページ作成の基本宣言文書型記述(DTD

CSS レイアウトを使用して WEB 標準に準拠した Web ページを作成することは、jb51.ne...

MySQLデータベースがNULLを可能な限り避ける理由

MySQL の多くのテーブルには、NULL が列のデフォルト属性であるため、アプリケーションが NU...