linux yum配備mysql 8.0操作ユーザーの追加


よい記録習慣を身につける
時間:2019年10月12日作者:黄黄メールアドレス:[email protected](指摘できる問題は互いに交流する)
1.MySQLのyumソースをインストールする
yum localinstall https://dev.mysql.com/get/
mysql80-community-release-el7-1.noarch.rpm

2.MySQLのインストール
yum install mysql-community-server

3.mysql 8を行う.0詳細設定
テーブル名の大文字と小文字を区別するかどうかを設定します.
mysql8.0以降はデフォルトで大文字と小文字が区別されますが、変更に対応する設定を追加する必要がある場合は(mysql 8.0の最初に設定をしていないときに構成することに注意してください.そうしないとmysqlを起動できない可能性があります.)linuxのデフォルトmysqlのプロファイルアドレスは/etc/myです.cnf
vi /etc/my.cnf

lower_に参加case_table_names=1(0は大文字と小文字を区別し、1は大文字と小文字を区別せず、一般的には業務上区別しない)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names=1

4.MySQLサービスを起動し、起動開始を設定する
systemctl start mysqld.service 
systemctl enable mysqld.service

5.一時パスワードの取得
grep 'A temporary password is generated for root@localhost' /var/log/mysqld.log |tail -1;

出力は次のとおりです.
2018-09-01T17:13:30.385800Z 5 [Note] [MY-010454] [Server] A 
temporary password is generated for root@localhost: NqLQAN?(m1=Q

NqLQAN?(m 1=Qはあなたの一時パスワードです
6.パスワードの変更
まずパスワードポリシーを設定し、設定しないと簡単なパスワードに変更できないmysql、mysql 8にログインします.0パスワードチェックが厳しい######MySQLへのログイン
Mysql -u root  -p NqLQAN?(m1=Q;

ポリシーの設定
set global validate_password.policy=0;
set global validate_password.length=6;

パスワードの変更
セキュリティインストールスクリプトを使用してパスワードを変更することもできます.必要に応じて自分で検討することができます.
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘   ’

7.リモートアカウントの追加
MySQL 8.0のセキュリティポリシーは以前のバージョンよりずっと厳格で、リモートアクセスで直接myを変更することはできません.confして、MySQLの中で###を設定してMySQLに上陸する必要があります
mysql -u root -p

#####################db(データベース)の作成
CREATE DATABASE test;

ユーザーとパスワードをリスニングipに追加します.ここでのipは自機と外部と通信する物理ipであるべきです.%はすべてのipが相対的に安全ではなく、安全上の考慮が多いことを意味します.
CREATE USER 'zhangzhiwen'@'%' IDENTIFIED 
WITH mysql_native_password BY '113536';

ユーザーの権限の設定
すべてのデータベースにすべての権限を付与
GRANT ALL PRIVILEGES ON *.* TO 'zhangzhiwen'@'%';

単一データベース(testデータベース)にすべての権限を付与
grant all privileges on test.* to 'zhangzhiwen'@'%';

対応する操作権限を付与する一般的な権限はselect,insert,update,delete,create,dropであり,それぞれ調べ,増やし,変更,削除,作成,クリアであり,前の4つはテーブルデータに対する操作であり,後の2つはテーブルに対する操作である.自分の必要に応じて権限付与を行うことができます.例:
grant select,insert on test to 'zhangzhiwen'@'%';

ポリシーの更新
FLUSH PRIVILEGES;