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が一定の要件を(新しいバージョンは、あなたがルールを変更することができます)は、パスワードの複雑性ルールのデフォルトのパスワードは、次のとおりです。
- 8以上の長さ
- これは、少なくとも一つの番号、ひとつの小文字、ひとつの大文字と1つの特殊文字が含まれている必要があります
rootアカウントのリモートアクセスを変更します
- 変更するには、次のコマンドを実行
mysql> use mysql;
mysql> update user set host="%" where user='root'; mysql> GRANT ALL ON *.* TO 'root'@'%'; mysql> flush privileges;
exitコマンドでシェルからクライアントを実行した後、MySQLを再起動してください。
その後、リンクが正常である何クライアントをテストすることができます。
いくつかの問題に注意が必要です
-
GRANT文の上記および以前のバージョンと異なる場合があり、私は、以前のバージョンで使用される文言でエラーとなっています。他の人々はこの文は、中MySQL8での使用に適していない古いラインのチュートリアルを書きます。最新の文書に引用されたが、公式ウェブサイトを参照するために使用することができます
-
有些系统会因为服务器防火墙导致即使配置成功,也无法远程链接MySQL。如果无法链接,可以先暂时关闭防火墙测试一下是否时因为防火墙的原因(不同版本的Centos系统防火墙配置可能不一样,具体可能需要另查资料)
防火墙命令:
[root@virde ~]# service firewalld stop
或者
[root@virde ~]# systemctl stop firewalld.service -
如果你的客户端出现下面这个错误,Client does not support authentication protocol requested by server。是因为MySQL8服务器版本中使用了新的密码验证机制,这需要客户端的支持,如果是旧的客户端(比如Navicat for mysql 11.1.13),可能不会很好的支持,需要你换到比较新的版本。暂时没有找到能让旧版本支持的方法。引用链接中方法我试过了,不管用。