CentOS 7 で MySQL 5.7 をインストールして設定する

CentOS 7 で MySQL 5.7 をインストールして設定する

この記事では、以下の環境をテストします。

CentOS 7 64 ビット 最小 MySQL 5.7

yumソースを設定する

yum ソース rpm インストール パッケージは https://dev.mysql.com/downloads/repo/yum/ で見つかります。

rpm インストール パッケージ

MySQLソースをインストールする

# シェルをダウンロード> wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# mysql ソース シェルをインストール> yum localinstall mysql57-community-release-el7-11.noarch.rpm

次のコマンドを使用して、mysqlソースが正常にインストールされているかどうかを確認します。

shell> yum repolist が有効 | grep "mysql.*-community.*" 

mysqlソースが正常にインストールされました

MySQLをインストールする

yum installコマンドを使用してインストールする

shell> yum install mysql-community-server

MySQLサービスを開始する

CentOS 7では、サービスを開始/停止するための新しいコマンドはsystemctl start|stopです。

shell> systemctl start mysqld

systemctl status を使用してMySQLのステータスを表示します

shell> systemctl status mysqld

MySQL 起動ステータス

スタートアップを設定する

shell> systemctl enable mysqld shell> systemctl daemon-reload

ルートローカルアカウントのパスワードを変更する

mysql がインストールされると、生成されたデフォルトのパスワードが /var/log/mysqld.log ファイルに記録されます。 grep コマンドを使用して、ログ内のパスワードを見つけます。

shell> grep 'temporary password' /var/log/mysqld.log

一時パスワードを表示

初期パスワードで初めてログインした後、次のコマンドを使用してパスワードを変更します。

shell> mysql -uroot -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

または

mysql> set password for 'root'@'localhost'=password('MyNewPass4!');

その後、update setステートメントでパスワードを変更します。

mysql> use mysql; mysql> update user set password=PASSWORD('MyNewPass5!') where user='root';

注意: MySQL 5.7 には、パスワード セキュリティ チェック プラグイン (validate_password) がデフォルトでインストールされています。デフォルトのパスワード チェック ポリシーでは、パスワードに大文字と小文字、数字、特殊記号が含まれ、長さが 8 文字以上である必要があります。そうでない場合、「ERROR 1819 (HY000): パスワードが現在のポリシー要件を満たしていません」というエラーが表示されます。詳細なパスワードポリシーについては、MySQL公式サイトをご覧ください。

リモートログインユーザーの追加

デフォルトでは、ローカルにログインできるのは root アカウントのみです。別のマシン上の MySQL に接続する場合は、リモート接続を許可するアカウントを追加する必要があります。またはリモート接続を許可するようにルートを変更する(非推奨)

リモート接続を許可するアカウントを追加する

mysql> 'Zhangsan2018!' によって識別される 'zhangsan'@'%' に *.* のすべての権限を GRANT OPTION 付きで付与します。

リモート接続を許可するようにルートを変更する(非推奨)

mysql> use mysql; mysql> UPDATE user SET Host='%' WHERE User='root'; mysql> flush privileges;

デフォルトのエンコードをutf8に設定する

MySQL をインストールした後、デフォルトでは中国語がサポートされないため、エンコーディングを変更する必要があります。
/etc/my.cnf 構成ファイルを変更し、関連するノードの下にエンコーディング構成を追加します (存在しない場合は、自分で追加します)。

次のようにコードをコピーします

[mysqld]
文字セットサーバー=utf8
[クライアント]
デフォルトの文字セット=utf8
[mysql]
デフォルトの文字セット=utf8

mysql サービスを再起動し、エンコーディングを照会します。変更されたことがわかります。

shell> systemctl restart mysqld shell> mysql -uroot -p mysql> show variables like 'character%';

デフォルトのエンコード構成ファイルのパスを表示します:

設定ファイル: /etc/my.cnf
ログファイル: /var/log/var/log/mysqld.log
サービス起動スクリプト: /usr/lib/systemd/system/mysqld.service
ソケットファイル: /var/run/mysqld/mysqld.pid

以下もご興味があるかもしれません:
  • Centos7.3 で mysql5.7.18 をインストールして初期パスワードを変更する方法
  • MySQL 5.7.17 のインストールと設定方法のグラフィックチュートリアル (CentOS7)
  • Linux CentOS MySQL 5.7.18 5.7.X インストール チュートリアル
  • CentOS MySQL 5.7 のコンパイルとインストールの詳細な手順
  • CentOS 7 でソースから MySQL 5.7.6+ をインストールするための詳細なチュートリアル
  • Centos7.3 に mysql5.7.18 をインストールするための詳細なチュートリアル
  • CentOS7 は rpm パッケージを使用して mysql 5.7.18 をインストールします
  • CentOS7 システムに MySQL 5.7.13 をコンパイルしてインストールする詳細な手順
  • Centos MySQL 5.7 のインストールとアップグレードのチュートリアル
  • Alibaba Cloud Centos7.3 インストール mysql5.7.18 rpm インストール チュートリアル
  • CentOS 7 に MySQL 5.7 をインストールするための詳細なチュートリアル
  • MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル (CentOS7)

<<:  Linux の文字端末でマウスを使って赤い四角形を移動する方法

>>:  JS 矢印関数に適さないシナリオは何ですか?

推薦する

ディスク容量不足による MySQL レプリケーション障害の解決方法

目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...

表のセル間隔とセルパディングの違いの詳細な説明

テーブルとは何ですか?セルセルで構成されています。表では、<td> の数は、<tr...

高度なクローラー - JS 自動レンダリングのための Scrapy_splash コンポーネントの使用

目次1. scrapy_splash とは何ですか? 2. scrapy_splashの役割3. s...

CentOS7 で MySQL のスケジュールされた自動バックアップを実装する方法

実稼働環境で起こる最も嬉しいことは、シナリオによっては、更新または削除時にパラメータを無視せざるを得...

CSS を使用してサブ要素に応じて異なるスタイルを記述する方法

達成すべき効果: 必要なもの1枚、2枚、3枚とスタイルが異なります。子要素の判定はjsで完結できます...

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

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

30分でReact Hooksを包括的に理解できます

目次概要1. 使用状態1.1 3つの概念に関する質問1.2 例1.3 注記2. リデューサーを使用す...

JavaScriptのアンチシェイクとスロットリングとは

目次1. 関数デバウンス1. 画像安定化とは何ですか? 2. 関数のスロットリング2.1 タイマーの...

Vue+SpringBoot のフロントエンドとバックエンドの分離におけるクロスドメインの問題

フロントエンドとバックエンドを分離した開発では、フロントエンドがバックエンドの API を呼び出して...

Docker Swarm を使用して分散クローラー クラスターを構築する例

クローラーの開発プロセス中に、クローラーを複数のサーバーに展開する必要がある状況に遭遇したことがある...

インラインブロックを使用した複数のdiv間の間隔はプログラミング方法とは異なります

inline-block について学習しているときに、境界線と inline-block を持つ複数...

Windows 10 の Docker で countly-server を展開して実行するプロセス

私は最近countlyに触れて、慣れてきました。私は、必要に応じてcountlyのクラッシュプラグイ...

Linux のような環境で jdk1.8 をインストールし、環境変数を設定する方法の詳細な説明

設定は非常にシンプルですが、毎回確認しないといけないので、記録だけ残しておきます。 1. インストー...

crontab でスケジュールされたタスクが実行されない理由の概要

序文最近、仕事でいくつかの問題が発生しました。crontab でスケジュールされたタスクが実行されま...

JavaScript の実行コンテキストとコールスタックの詳細な説明

目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...