Centos7-MySQL8.0.13-ノートを取り付ける


具体的な参考:
https://blog.csdn.net/qq_25340149/article/details/84307547#_3
インストール
インストール環境:CentOS 7+,mysql 8.0.13
公式サイト:https://dev.mysql.com/downloads/repo/yum/
ダウンロード:wgethttps://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
インストール手順:
rpm -qa | grep mysql //         mysql  
    ,          ,     ,   ...
rpm -e mysql //      
rpm -e --nodeps mysql //      ,           ,          ,               

     mysql  :
	rpm -ivh mysql-community-release-el7-5.noarch.rpm
	yum update
	yum install mysql-server



mysqlを初期化します.mysqld --initialize
mysqlを起動します.systemctl start mysqld
起動時にエラーが発生しました:
[root@roothome mysql]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
//  mysql      ,         
[root@roothome usr]# cat /var/log/mysqld.log 
2018-11-19T09:12:26.121019Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 22972
2018-11-19T09:12:26.132212Z 1 [ERROR] [MY-012271] [InnoDB] The innodb_system data file 'ibdata1' must be writable
2018-11-19T09:12:26.132251Z 1 [ERROR] [MY-012278] [InnoDB] The innodb_system data file 'ibdata1' must be writable
2018-11-19T09:12:26.132275Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
2018-11-19T09:12:26.132469Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-11-19T09:12:26.132499Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-11-19T09:12:26.133307Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.13)  MySQL Community Server - GPL.

上記の異常からdata file‘ibdata 1’must be writableは、現在書き込み不可のデータファイルであることを示しており、権限不足のため、以下のコマンドで許可されているようです.
[root@roothome ~]# chown -R mysql:mysql/var/lib/mysql
再起動します.
[root@roothome ~]# systemctl start mysqld
今回は間違いのない問題でした.起動に成功したことを証明します!
次に、ステータスを確認します.
[root@roothome ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since   2018-11-20 09:56:55 CST; 4min 15s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 30903 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 30924 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 37
   Memory: 381.4M
   CGroup: /system.slice/mysqld.service
           └─30924 /usr/sbin/mysqld

11  20 09:56:51 roothome systemd[1]: Starting MySQL Server...
11  20 09:56:55 roothome systemd[1]: Started MySQL Server.

mysqlの起動に成功したことがわかります.
それからmysqlにログインし始めました.最初のログインでrootパスワードが空になったので、更新パスワードを変更します.mysqladmin -u root password "root"
ここでエラーが発生します.
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

コンフィギュレーション
ここでの問題はアドレスアクセス異常で、このアドレスはmysqlに入れません.
具体的な解決方法:
[root@roothome bin]# vim /etc/my.cnf
....
[mysqld]
skip-grant-tables  // [mysqld]       
bind-address = 0.0.0.0 //      
default-authentication-plugin=mysql_native_password //    #   ,      
....

パスワード無視モードでmysqlに入ります.[root@roothome bin]# mysql -u root -p
次に車に戻り、
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> FLUSH PRIVILEGES;//                      
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '    ';//    root  
mysql> FLUSH PRIVILEGES;//     ,    
mysql> exit;
       my.cnf     skip-grant-tables   ;    ;    
[root@roothome bin]# mysql -u root -p
Enter password: //          

//  ,         root       ,                     。
//     ,            default-authentication-plugin=mysql_native_password,    mysql8.0       ,               。
//     ,  %            。              @‘   ip’。
mysql>CREATE USER 'test'@'%' IDENTIFIED BY 'test.123';
//           
mysql>GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;
//    
mysql>FLUSH PRIVILEGES;
//                 ,  :
//Unable to load authentication plugin 'caching_sha2_password'.
mysql>ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test.123';

###高バージョンmysqlパケット照会ONLY_FULL_GROUP_BYエラー
 vi/etc/my.cnf
次のコードを追加
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION