CentOS8でのMySQL8.0のインストール、展開、および構成のチュートリアル

I.はじめに##

1、 このチュートリアルの主な内容###

2、 このチュートリアルの環境情報と適用範囲###

ソフトウェア バージョン
CentOS 8.2 Release
MySQL 8.0.21
ソフトウェア バージョン
CentOS CentOS 8
MySQL 8.0.21+

次に、install

1、 パッケージを追加###

# CentOS 7
cd /home/downloads
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
sudo rpm -ivh mysql80-community-release-el8-1.noarch.rpm

2、 インストール###

# インストール
sudo yum install -y mysql-server

# サービス開始
sudo systemctl start mysqld

# バージョン情報を表示する
mysql -V

# mysql  Ver 8.0.21for Linux on x86_64(Source distribution)

3、 ルートアカウントのパスワードの変更###

#1、 パスワードなしでMySQLシェルを入力してください
mysql -u root

#2、 パスワードを変更する
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mypwd123!';

4、 ポートを開く###

# ポートを開く
firewall-cmd --add-port=3306/tcp --permanent

# ファイアウォール設定をリロードします
firewall-cmd --reload

3、MySQLのセキュリティ設定##

1、 MySQL8セキュリティ設定の概要###

MySQL 8には、サーバーにMySQLをデプロイするためのセキュリティ設定の操作を簡素化する新しいセキュリティ設定ウィザードが追加されました。これはすばらしいことです。

セキュリティ設定は、大きく次の手順/オプションに分けられます

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

上記の手順/オプションは、必要に応じて実行できます。

2、 MySQL8のセキュリティ設定の例###

mysql_secure_installation
Securing the MySQL server deployment.

Enter password for user root: 

The existing password for the user account root has expired. Please set a newpassword.

New password: 

Re-enter newpassword: 

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: N
Using existing password for root.
Change the password for root ?((Press y|Y for Yes, any other key for No): Y

New password: 

Re-enter newpassword: 
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users?(Press y|Y for Yes, any other key for No):... skipping.

Normally, root should only be allowed to connect from'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely?(Press y|Y for Yes, any other key for No): N

 ... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it?(Press y|Y for Yes, any other key for No): N

 ... skipping.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now?(Press y|Y for Yes, any other key for No): Y
Success.

All done!

4、MySQLシェル管理構文の例##

1、 データベース関連の構文の例###

# データベースを作成する
mysql> CREATE DATABASE mydb;

# すべてのデータベースを表示
mysql> SHOW DATABASES;

# データを使用してテーブルを作成する
mysql> USE mydb;
mysql> CREATE TABLE test(id int,body varchar(100));

# 表を見る
mysql> SHOW TABLES;

2、 ユーザーおよびアクセス許可の構文例###

# 新しいローカルユーザー
mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';

# 新しいリモートユーザー
mysql> CREATE USER 'test'@'%' IDENTIFIED BY '123456';

# 指定されたアカウントに、指定されたデータベースへのリモートアクセス権限を付与します
mysql> GRANT ALL PRIVILEGES ON mydb.* TO 'test'@'%';

# 指定されたアカウントにすべてのデータベースへのリモートアクセス許可を付与します
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';

# 指定されたアカウントにすべてのデータベースへのローカルアクセスを許可します
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';

# 権限の更新
mysql> FLUSH PRIVILEGES;

3、 承認関連の構文例###

#1、 権限の表示
SHOW GRANTS FOR 'test'@'%';

#2、 権限を付与する
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';

#3、 許可を取り消す
REVOKE ALL PRIVILEGES ON *.* FROM 'test'@'%';

#4、 権限の更新
FLUSH PRIVILEGES;

#5、 ユーザーを削除する
DROP USER 'test'@'localhost';

5、文字エンコーディングを変更します##

1、 構成ファイルの場所を見つけます###

[ root@centos7 download]# whereis my.cnf
my:/etc/my.cnf

2、 構成ファイルを変更します###

# 構成ファイルを変更する
vi /etc/my.cnf

# 変更1:クライアント構成の追加(ファイルの先頭)
[ client]default-character-set=utf8mb4

# 変更2:mysqld構成を追加します(ファイルの終わり)
# charset
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

3、 mysqlサービスを再起動します###

# 構成は再起動後に有効になります
systemctl restart mysqld

六、備考##

関連資料###

http://www.infoq.com/cn/articles/in-mysql-never-use-utf8-use-utf8

https://serverfault.com/questions/139323/how-to-bind-mysql-server-to-more-than-one-ip-address

Recommended Posts

CentOS8でのMySQL8.0のインストール、展開、および構成のチュートリアル
CentOS6 / 7でのMySQL8.0のインストール、展開、および構成
Centos7mysqlデータベースのインストールと構成
CentOS7システムのインストールと構成のグラフィックチュートリアル
Mysql8.0.15インストール構成(centos7)
CentOS7でのJenkinsのインストールと展開のチュートリアル
CentOS 6.5システムのインストールと構成のグラフィックチュートリアル(詳細なグラフィック)
CentOSでのMySQL8.0のインストールと展開、非常に詳細!
Centos7のインストールと構成のプロメテウス
CentOS7のインストールと構成PPTP
CentOSのインストールと構成cmake
Centos7.5のインストールと構成MongoDB4.0.4
CentOS7のインストールと構成PPTP
Centos7のインストールとJenkinsの構成
Centos6.5のインストールとKVMの展開
CentOSでのJava-JDKのインストールと構成
CentOS 7Tomcatサービスのインストールと構成
CentOSNTPサーバーのインストールと構成
CentOs7のインストールと展開Zabbix3.4オリジナル
CentOS7でのErlang20.2のインストールと展開
[スイッチ] CentOS764ビットインストールmysqlチュートリアル
centOS7でのSparkのインストールと構成のチュートリアルの詳細な説明
Centos8のOpenStackUssuriの最小限の展開とインストールの詳細なチュートリアル
CentosMySQL8構成
CentOSでのMysqlのインストールと使用
CentOS 7でのTomcatのインストールと構成(Tomcatの起動)
Centos-6.5LNMP環境のインストールと展開
centos7でのredisのインストールと構成
Centos7のインストールとgitlabサーバーの展開
CentOSでのZabbixのインストールと展開およびローカリゼーション
Centos7ハイブスタンドアロンモードのインストールと構成
CentOS7インストールzabbix4.0チュートリアル(グラフィックスとテキスト)
CentOS7にMySQL8をインストールするための詳細なチュートリアル
Centos7のインストールとAirflowの展開の詳細
CentOS8でのElasticStackの使用:Elasticsearch / Kibana7.8の展開と認証の構成
CentOS7システムでのJDKのインストールと構成
centos7でのXfs構成
OpenMPI-Ubuntuのインストールと構成
テクニカルコーナー| CentOS8でのElasticStackの使用:Elasticsearch / Kibana7.8の展開と認証の構成
Centos7インストールMysql8チュートリアル
VMware10でのCentOS7のインストールと構成のグラフィックチュートリアル
Centos7によるPHPのインストールとNginxのチュートリアルの詳細
centos7.2.1511にjdk1.8.0_151とmysql5.6.38をインストールする方法
VMwareWorkstationでのCentOS7のインストールと構成
Linux CentOS7インストールチュートリアル
Ubuntu16.04は、VMwareでの完全なインストールと構成のチュートリアルをミラーリングします
Centos7でのJDK、mysql、tomcatの環境構成
LinuxシステムへのJDK8のインストールに関する詳細なチュートリアル(CentOS7のインストール)
Centos7へのGlusterfsクラスターのインストール
Ubuntu16.04のインストールと簡単な構成
centos7へのグラファイトの展開
CentOS6.xインストールmysql5.7レコード
centos7kvmのインストールと使用
CentOSmysql構成マスタースレーブレプリケーション
Centos7.4環境インストールランプ-php7.0チュートリアル
UbuntuPostgreSQLのインストールと構成
centos7へのDockerEEのインストール
Centos7elk7.1.1のインストールと使用
CentOS7はopenjdk、tomcat、mysqlプロセスの紹介をインストールします
CentOS8にMySQLをインストールする方法
CentOS7yumはmysqlをインストールして起動します