CentOS7.6 MySQL 8環境構築リモートログオン文字セットUTF 8簡単パスワード


一、環境準備
1、クリーンアップ環境にシステムが持っているMySQL
(1)システムに付属しているMySQLまたはMariadbを削除する
yum remove mysql-libs

(2)クエリシステムに残りの依存パケットがあるか
rpm -qa | grep mariadb 

(3)rpm依存パッケージの削除
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

2依存パッケージのダウンロード
注意:自分の実際のニーズに合わせてパッケージ管理を行ってください
(1)すべての開発キットをインストールする
yum groupinstall -y "Development tools" 

(2)その他の必須パッケージのインストール
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 

二、MySQL 8のインストール
1、公式サイトでrpmパッケージ管理ファイルをダウンロードする
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、mysqlをローカルにインストールする
yum localinstall mysql80-community-release-el7-1.noarch.rpm 

3、MySQL倉庫に接続できるかどうかを調べる
yum repolist enabled | grep "mysql.*-community.*"

4、MySQLサービスのインストール
yum install mysql-community-server

三、MySQL構成
1、互換性MySQL 8以前のバージョンを開く
vim /etc/my.cnf  
default-authentication-plugin=mysql_native_password

2、MySQLのデフォルト初期パスワードを変更する
(1)MySQLのデフォルト初期パスワードの照会
grep 'temporary password' /var/log/mysqld.log

(2)MySQLへのログイン
mysql -u root -p 

(3)クエリー表示のパスワード入力
(4)パスワードの変更
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Welcome_1';

(5)システム権限リストの更新
flush privileges;

(6)再登録
3、リモートログイン許可
use mysql;
select user,host from user; 
update user set host = '%' where user = 'root'; 

4、ファイアウォールは3306と22ポートを開く
3306 MySQLデフォルトポート22 SSHアクセスポート
5、パスワードポリシー
(1)MySQLパスワードポリシーの表示
show variables like '%validate%';

(2)簡易パスワードの設定
注意:global構成グローバルは、構成ファイルmyを変更することに相当します.cnf
set global validate_password.policy=0;
set global validate_password.length=6;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0; 
set global validate_password.special_char_count=0; 
flush privileges; 

(3)パスワードの変更
mysql> alter user 'root'@'%' IDENTIFIED BY '  ';

6、デフォルト文字セットの変更
(1)MySQLパスワードポリシーの表示
show variables like '%character%';

(2)my.cnfプロファイルの変更
[mysqld]
init_connect='set collation_connection = utf8_general_ci'
init_connect='set collation_database=utf8_general_ci' 
init_connect='set names utf8'
init_connect='set character_set_connection=utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

四、MySQL起動
1、MySQLサービスを起動する
systemctl start mysqld

2、MySQLサービスステータスの表示
systemctl status mysqld

3、電源を入れてから起動する
systemctl enable mysqld.service

4、MySQLサービスを再起動する
systemctl restart mysqld;

五、注意事項
1、以上の操作はすべてrootユーザーである
2、ERROR 1819 (HY000)
mysql5.7パスワードセキュリティチェックプラグイン(validate_password)がデフォルトでインストールされています.デフォルトのパスワードチェックポリシーでは、パスワードには大文字と小文字、数字、特殊な記号が含まれ、長さは8ビット未満でなければなりません.
3、ユーザーを新しく設定するか、パスワードを変更した後、flush privilegesでMySQLのシステム権限関連表を更新する必要があります.そうしないと、アクセス拒否が発生します.
flush privileges; 

4、アリクラウドなどのクラウドサーバーであれば、セキュリティ設定アクセス管理で3306ポートアクセスを開く必要がある
5、Xshell接続アクセス22番ポートを使用してXftpを使用する場合、SFTPプロトコルを使用して22番ポートにアクセスする
6、文字セット符号化を構成する場合は「utf 8_unicode_ci」ではなく「utf 8_general_ci」を使用してください.