CentOS7にMySQL8をインストールするための詳細なチュートリアル

準備完了

この記事の環境情報:

ソフトウェア バージョン
CentOS CentOS 7.4
MySQL 8.0.x

インストールする前に、システムのすべてのパッケージを更新してください

sudo yum update

インストール

1. Yumパッケージを追加

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# またはwgethttp://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
sudo yum update
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

注:最新のrpmパッケージ名は公式ウェブサイトで見つけることができます。

2. ** [ MySQL **](https://cloud.tencent.com/product/cdb?from=10680)をインストールします

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

インストール後、システムの起動時にMySQLが自動的に起動します。自動的に起動したくない場合は、systemctl disablemysqldを使用して閉じることができます。

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

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

変更するMySQLクライアントを入力します。

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your passowrd';
# ALTER USER 'root'@ IDENTIFIED BY 'your passowrd';

パスワード強度の要件は次のとおりです。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';
# 権限の更新
FLUSH PRIVILEGES;

2. 許可を取り消す

# 許可を取り消す
REVOKE ALL PRIVILEGES ON *.* FROM 'test'@'%';
# ローカルユーザーを削除する
DROP USER 'user'@'localhost';
# リモートユーザーを削除する
DROP USER 'user'@'%';
# 権限の更新
FLUSH PRIVILEGES;

3. リモートログイン

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

use mysql;
select host, user, authentication_string, plugin from user;

テーブル内のrootユーザーのホストはデフォルトでlocalhostであり、ローカルアクセスのみを許可します。 rootユーザーのすべての権限を承認し、リモートアクセスを設定します。

# 承認
GRANT ALL ON *.* TO 'root'@'%';
# 更新
FLUSH PRIVILEGES;

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

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your password';

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

default-authentication-plugin=mysql_native_password

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

firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

注:[Cloud Server](https://cloud.tencent.com/product/cvm?from=10680)の場合、一部のサービスプロバイダー(Alibaba Cloudなど)は、コンソールにアクセスしてポートを開く必要があります。

文字エンコーディングの変更

文字セットはシンボルとコードのセットです。文字セットの構成を確認してください。

mysql> show variables like 'charac%';+--------------------------+--------------------------------+| Variable_name  | Value    |+--------------------------+--------------------------------+| character_set_client | utf8mb4   || character_set_connection | utf8mb4   || character_set_database | utf8mb4   || character_set_filesystem | binary    || character_set_results | utf8mb4   || character_set_server | utf8mb4   || character_set_system | utf8    || character_sets_dir |/usr/share/mysql-8.0/charsets/|+--------------------------+--------------------------------+

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

照合ルールは、文字セット内の文字を比較するための一連のルールです。照合ルールを確認してください。

mysql> show character set like 'utf8%';+---------+---------------+--------------------+--------+| Charset | Description | Default collation | Maxlen |+---------+---------------+--------------------+--------+| utf8 | UTF-8 Unicode | utf8_general_ci |3|| utf8mb4 | UTF-8 Unicode | utf8mb4_0900_ai_ci |4|+---------+---------------+--------------------+--------+

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

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

mb4はほとんどのバイト4です。なぜutf8ではなくutf8mb4なのですか? MySQLでサポートされているutf8エンコーディングの最大文字長は3バイトです。4バイト幅の文字が検出されると、例外が挿入されます。

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

# 構成ファイルの場所を表示する
whereis my.cnf

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

文字エンコーディング構成アイテムを追加します。

[ client]default-character-set=utf8mb4

[ mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

MySQLサービスを再起動します

sudo systemctl restart mysqld

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

show variables like 'charac%';

参照

https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

https://ken.io/note/centos-mysql8-setup

おすすめ:

興味のある友達は、編集者のWeChatパブリックアカウント[** Ma Nongのささいなこと**]、より多くのWebページ作成の特殊効果のソースコード、および乾物の学習をフォローできます。 ! !

総括する

上記は、エディターが紹介したCentOS7にMySQL8をインストールするためのチュートリアルの詳細な説明です。お役に立てば幸いです。ご不明な点がございましたら、メッセージを残していただければ、エディターから返信があります。 ZaLou.Cnのウェブサイトをご支援いただきありがとうございます。

Recommended Posts

CentOS7にMySQL8をインストールするための詳細なチュートリアル
centos8にnginxをインストールするための詳細なチュートリアル(グラフィック)
LinuxシステムへのJDK8のインストールに関する詳細なチュートリアル(CentOS7のインストール)
ubuntu18用のpython3.7のインストールに関する詳細なチュートリアル
Ubuntu16.04にCUDA9.0をインストールするための詳細なチュートリアル
Ubuntu18.04にphpMyAdminをインストールするための詳細なチュートリアル
Centos7にMySQL5.7をインストールします
Centos7インストールMysql8チュートリアル
centos8カスタムディレクトリにnginxをインストールします(詳細なチュートリアル)
CentOS8でのMySQL8.0のインストール、展開、および構成のチュートリアル
mysqlをcentosにオンラインでインストールする
LinuxCentosにMySQL8.0.16をインストールします
vmwareインストールCentOS7詳細チュートリアル
vmwareでのCentOS7ネットワーク設定チュートリアルの詳細な説明
CentOS 8(1905)システムをVMware仮想マシンにインストールするためのチュートリアル図
CentOS8システムにKernel5.xカーネルバージョンをインストールする詳細な方法
CentOS8にMySQLをインストールする方法
CentOS7にrpmでJDK8をインストールします
CentOS7でのJDK1.8チュートリアルの最小インストール
CentOS8インストールMariaDB詳細チュートリアル
CentOS8.1ビルドGitlabサーバーの詳細なチュートリアル
CentOS8でのnmcliの詳細な使用
CentOS6最小インストールKVM詳細チュートリアル
CentOS7にDockerを使用してMySqlをインストールする
Linux CentOS7(Windows)にMySQLをインストールする
Centos8のインストール図(非常に詳細なチュートリアル)
[スイッチ] CentOS764ビットインストールmysqlチュートリアル
centos6.5でzabbix2.4をインストールするためのチュートリアル図
DockerでのCentOSコンテナのインストールはMySQLを使用します
CentOS7.4でJDK1.8をインストールするためのグラフィカルチュートリアル
Ubuntu20.04にPycharm2020.1をインストールするためのグラフィカルチュートリアル
歴史上最も完全なcentosインストールチュートリアル
CentOS7.2はMysql5.7.13をインストールします
CentOS7はMySQLをインストールします
CentOS 6.5システムのインストールと構成のグラフィックチュートリアル(詳細なグラフィック)
ローカルyumソースを構成するためのCentOS8詳細チュートリアル
CentOSにremix-ideをインストールするためのエラーと解決策
RPMを使用してmysql8.0.11チュートリアルをインストールするLinux(CentOS7)
CentOSインストールmysql
CentOS7でのpptpサーバーのインストールに関する注意事項
CentOS 8.1でLEMP(Linux + Nginx + MySQL + PHP)環境を構築する(詳細なチュートリアル)
CentOS7インストールmysql
CentOS7はMySQL5.6をインストールします
centos7.2.1511にjdk1.8.0_151とmysql5.6.38をインストールする方法
CentOS7はmysql8をインストールします
CentOSでのMySQL8.0のインストールと展開、非常に詳細!
CentOS6.5でのHadoop環境の構築に関する詳細な説明
CentOS7はMySQL8をインストールします
CentosMySQL8構成
centos7.5インストールmysql5.7.17
Centos7からCentos8にアップグレードするためのチュートリアル(詳細な図)
Centos8のdjangoプロジェクトにnginx + uwsgiをデプロイするためのチュートリアル
仮想マシンへのCentOS6.4システムの詳細なインストール手順
vmware10.0クラックバージョンにcentosをインストールするための詳細な手順
Centos7にDockerをインストールする
Centos7.4はLNMPをインストールします
centos7でk8s1.9.9をビルドする
CentOS6.5オフラインインストールMySQL5.6.26
CentOS6でOcservを構成する
セントスにphpをインストールする
CentosはMYSQL8.Xチュートリアルをインストールします