CentOS7のインストールには、パスワードの変更MySQL8

1. MySQL8のローカルソースを追加します。

  • インストールMySQLのソースに対して次のコマンドを実行
[root@virde ~]# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
[root@virde ~]# sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm 
  • ソースが正常に追加された場合は、確認するには、次のコマンドを使用することができます
[root@virde ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community                  51
mysql-tools-community/x86_64      MySQL Tools Community                       63
mysql80-community/x86_64          MySQL 8.0 Community Server                  17

2. MySQLサーバをインストールします。

  • インストールするには、次のコマンドを実行
[root@virde ~]# sudo yum install mysql-community-server

そこ尋問のインストールプロセス入力Yキャリッジ・リターン。

MySQLを起動します

  • 以下のコマンドでMySQLを起動します
[root@virde ~]# sudo service mysqld start
Starting mysqld:[ OK ]
  • 次のコマンドでMySQLの状態を確認することができます
[root@virde ~]# sudo service mysqld status
mysqld (pid 3066) is running.
  • 再起動のMySQL
[root@virde ~]# sudo service mysqld restart
Starting mysqld:[ OK ]
  • MySQLを停止
[root@virde ~]# sudo service mysqld stop
Starting mysqld:[ OK ]

注:サーバーのメモリが500M以下の場合、正常に起動しないようにメモリ不足のリードであってよいです。
innodb_buffer_pool_size = 50Mな/etc/my.cnf改変以下

MySQLのrootアカウントの権限の設定とリモートリンク

ローカルシェルは、MySQLクライアントを上陸させ、そして初期のrootパスワードを変更します

  • ソフトウェアがインストールされたら、それはエラー・ログにスーパーユーザーの初期パスワードを生成します、あなたは、次のコマンドで初期パスワードを表示することができます
[root@virde ~]# sudo grep 'temporary password' /var/log/mysqld.log
2018-04-27T05:20:28.645777Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: nDjEy-#jv7Dn
  • ランディングMySQLのシェルクライアントは、ALTER USERコマンドを使用して初期パスワードを変更します
[root@virde ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.11 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 BY 'MyNewPass4!'; Query OK, 0 rows affected (0.08 sec) 

注意:次のようにMySQLが一定の要件を(新しいバージョンは、あなたがルールを変更することができます)は、パスワードの複雑性ルールのデフォルトのパスワードは、次のとおりです。

  1. 8以上の長さ
  2. これは、少なくとも一つの番号、ひとつの小文字、ひとつの大文字と1つの特殊文字が含まれている必要があります

rootアカウントのリモートアクセスを変更します

  • 変更するには、次のコマンドを実行
mysql> use mysql;
mysql> update user set host="%" where user='root'; mysql> GRANT ALL ON *.* TO 'root'@'%'; mysql> flush privileges; 

exitコマンドでシェルからクライアントを実行した後、MySQLを再起動してください。
その後、リンクが正常である何クライアントをテストすることができます。

いくつかの問題に注意が必要です

    1. GRANT文の上記および以前のバージョンと異なる場合があり、私は、以前のバージョンで使用される文言でエラーとなっています。他の人々はこの文は、中MySQL8での使用に適していない古いラインのチュートリアルを書きます。最新の文書に引用されたが、公式ウェブサイトを参照するために使用することができます

    2. 有些系统会因为服务器防火墙导致即使配置成功,也无法远程链接MySQL。如果无法链接,可以先暂时关闭防火墙测试一下是否时因为防火墙的原因(不同版本的Centos系统防火墙配置可能不一样,具体可能需要另查资料)
      防火墙命令:
      [root@virde ~]# service firewalld stop
      或者
      [root@virde ~]# systemctl stop firewalld.service

    3. 如果你的客户端出现下面这个错误,Client does not support authentication protocol requested by server。是因为MySQL8服务器版本中使用了新的密码验证机制,这需要客户端的支持,如果是旧的客户端(比如Navicat for mysql 11.1.13),可能不会很好的支持,需要你换到比较新的版本。暂时没有找到能让旧版本支持的方法。引用链接中方法我试过了,不管用。

おすすめ

転載: www.cnblogs.com/z3286586/p/11527318.html