CentOS 7.4 64位安装配置MySQL8.0的详细步骤
第一步:获取mysql YUM源
进入mysql官网获取RPM包下载地址
https://dev.mysql.com/downloads/repo/yum/
点击下载
获取到下载链接:
https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
--------------------------------------------------------------------------------
第二步:下载和安装mysql源
?进入mysql文件夹,没有的自行创建
?1 2 | [root@VM_0_10_centos /] # cd /usr/local/mysql/ [root@VM_0_10_centos mysql] # |
?下载源安装包
?1 2 3 4 5 6 7 8 9 10 11 12 13 | [root@VM_0_10_centos mysql] # wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm --2018-08-04 10:29:39-- https: //repo .mysql.com //mysql80-community-release-el7-1 .noarch.rpm Resolving repo.mysql.com (repo.mysql.com)... 23.219.33.198 Connecting to repo.mysql.com (repo.mysql.com)|23.219.33.198|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 25820 (25K) [application /x-redhat-package-manager ] Saving to: ‘mysql80-community-release-el7-1.noarch.rpm' 100%[==========================================================================>] 25,820 112KB /s in 0.2s 2018-08-04 10:29:40 (112 KB /s ) - ‘mysql80-community-release-el7-1.noarch.rpm' saved [25820 /25820 ] [root@VM_0_10_centos mysql] # ll total 28 -rw-r--r-- 1 root root 25820 Apr 18 13:24 mysql80-community-release-el7-1.noarch.rpm [root@VM_0_10_centos mysql] # |
?安装mysql源
?1 | [root@VM_0_10_centos mysql] # yum -y localinstall mysql80-community-release-el7-1.noarch.rpm |
第三步:在线安装MySQL
?1 | [root@VM_0_10_centos mysql] # yum -y install mysql-community-server |
下载东西比较多,等几分钟。
第四步:启动Mysql服务
?1 | [root@VM_0_10_centos mysql] # systemctl start mysqld |
第五步:设置开机启动
?1 2 | [root@VM_0_10_centos mysql] # systemctl enable mysqld [root@VM_0_10_centos mysql] # systemctl daemon-reload |
第六步:修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。用grep命令搜一下
?1 2 3 4 5 | [root@VM_0_10_centos mysql] # grep "A temporary password is generated for root@localhost" /var/log/mysqld.log 2018-08-02T02:19:55.829527Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !J:KUwU9y0ZR 2018-08-02T04:49:34.979689Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: pw< /s9 ,Wivm2 2018-08-04T02:40:46.781768Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: nNyK,Y)Wd0-G [root@VM_0_10_centos mysql] # |
这里有三条搜索结果,因为我重复装了3次MySQL,如果第一次安装是只会有一条的。
直接拿到临时默认密码 : nNyK,Y)Wd0-G
?登录MySQL
?1 2 3 4 5 6 7 8 9 10 11 | [root@VM_0_10_centos mysql] # mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.12 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> |
?更改root账户临时密码
?1 2 3 | mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.03 sec) mysql> |
Pwd123@easyoh.net 请替换成你自己的密码。
(备注 mysql8.0默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位)
第七步:创建新用户、授权、远程登录(不要直接使用root账户登录)
?创建easyoh-mp用户并且授权远程登录
?1 2 3 4 5 | mysql> CREATE USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.04 sec) mysql> GRANT ALL ON *.* TO 'easyoh-mp' @ '%' ; Query OK, 0 rows affected (0.03 sec) mysql> |
?在sqlyog客户端用easyoh-mp账户登录(其他客户端也可以,随意)
发现会报plugin caching_sha2_password错误。这是因为MySQL8.0密码策略默认为caching_sha2_password。与5.7有所不同。
?进入MySQL数据库查询user表信息
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mysql> use mysql; Database changed mysql> select user,host,plugin from user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | easyoh-mp | % | caching_sha2_password | | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | caching_sha2_password | +------------------+-----------+-----------------------+ 5 rows in set (0.00 sec) mysql> |
发现确实是caching_sha2_password
?依次执行下面语句
?1 2 3 4 5 6 7 | mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.04 sec) mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED WITH mysql_native_password BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.05 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> |
再次登录就可以登录成功了。
第8步:编码
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mysql> show variables like '%character%' ; +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql-8 .0 /charsets/ | +--------------------------+--------------------------------+ 8 rows in set (0.01 sec) mysql> |
MySQL8.0默认就是utf8mb4编码,无需更改。
OK 至此 Mysql安装配置完毕;
全流程操作记录
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | [root@VM_0_10_centos ~] # [root@VM_0_10_centos /] # cd /usr/local/mysql/ [root@VM_0_10_centos mysql] # wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm --2018-08-04 10:29:39-- https: //repo .mysql.com //mysql80-community-release-el7-1 .noarch.rpm Resolving repo.mysql.com (repo.mysql.com)... 23.219.33.198 Connecting to repo.mysql.com (repo.mysql.com)|23.219.33.198|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 25820 (25K) [application /x-redhat-package-manager ] Saving to: ‘mysql80-community-release-el7-1.noarch.rpm' 100%[==========================================================================>] 25,820 112KB /s in 0.2s 2018-08-04 10:29:40 (112 KB /s ) - ‘mysql80-community-release-el7-1.noarch.rpm' saved [25820 /25820 ] [root@VM_0_10_centos mysql] # ll total 28 -rw-r--r-- 1 root root 25820 Apr 18 13:24 mysql80-community-release-el7-1.noarch.rpm [root@VM_0_10_centos mysql] # yum -y localinstall mysql80-community-release-el7-1.noarch.rpm Loaded plugins: fastestmirror, langpacks Examining mysql80-community-release-el7-1.noarch.rpm: mysql80-community-release-el7-1.noarch Marking mysql80-community-release-el7-1.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mysql80-community-release.noarch 0:el7-1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================================================= Installing: mysql80-community-release noarch el7-1 /mysql80-community-release-el7-1 .noarch 31 k Transaction Summary ================================================================================================================================================================================================================= Install 1 Package Total size: 31 k Installed size: 31 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : mysql80-community-release-el7-1.noarch 1 /1 Verifying : mysql80-community-release-el7-1.noarch 1 /1 Installed: mysql80-community-release.noarch 0:el7-1 Complete! [root@VM_0_10_centos mysql] # yum -y install mysql-community-server Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile epel 12641 /12641 Resolving Dependencies --> Running transaction check ---> Package mysql-community-server.x86_64 0:8.0.12-1.el7 will be installed --> Processing Dependency: mysql-community-common(x86-64) = 8.0.12-1.el7 for package: mysql-community-server-8.0.12-1.el7.x86_64 --> Processing Dependency: mysql-community-client(x86-64) >= 8.0.0 for package: mysql-community-server-8.0.12-1.el7.x86_64 --> Running transaction check ---> Package mysql-community-client.x86_64 0:8.0.12-1.el7 will be installed --> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.0 for package: mysql-community-client-8.0.12-1.el7.x86_64 ---> Package mysql-community-common.x86_64 0:8.0.12-1.el7 will be installed --> Running transaction check ---> Package mysql-community-libs.x86_64 0:8.0.12-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================================================= Installing: mysql-community-server x86_64 8.0.12-1.el7 mysql80-community 349 M Installing for dependencies: mysql-community-client x86_64 8.0.12-1.el7 mysql80-community 26 M mysql-community-common x86_64 8.0.12-1.el7 mysql80-community 541 k mysql-community-libs x86_64 8.0.12-1.el7 mysql80-community 2.2 M Transaction Summary ================================================================================================================================================================================================================= Install 1 Package (+3 Dependent packages) Total download size: 377 M Installed size: 1.7 G Downloading packages: (1 /4 ): mysql-community-common-8.0.12-1.el7.x86_64.rpm | 541 kB 00:00:05 (2 /4 ): mysql-community-client-8.0.12-1.el7.x86_64.rpm | 26 MB 00:00:12 (3 /4 ): mysql-community-server-8.0.12-1.el7.x86_64.rpm | 349 MB 00:02:26 (4 /4 ): mysql-community-libs-8.0.12-1.el7.x86_64.rpm | 2.2 MB 00:03:37 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.7 MB /s | 377 MB 00:03:43 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mysql-community-common-8.0.12-1.el7.x86_64 1 /4 Installing : mysql-community-libs-8.0.12-1.el7.x86_64 2 /4 Installing : mysql-community-client-8.0.12-1.el7.x86_64 3 /4 Installing : mysql-community-server-8.0.12-1.el7.x86_64 4 /4 Verifying : mysql-community-common-8.0.12-1.el7.x86_64 1 /4 Verifying : mysql-community-libs-8.0.12-1.el7.x86_64 2 /4 Verifying : mysql-community-client-8.0.12-1.el7.x86_64 3 /4 Verifying : mysql-community-server-8.0.12-1.el7.x86_64 4 /4 Installed: mysql-community-server.x86_64 0:8.0.12-1.el7 Dependency Installed: mysql-community-client.x86_64 0:8.0.12-1.el7 mysql-community-common.x86_64 0:8.0.12-1.el7 mysql-community-libs.x86_64 0:8.0.12-1.el7 Complete! [root@VM_0_10_centos mysql] # systemctl start mysqld [root@VM_0_10_centos mysql] # systemctl enable mysqld [root@VM_0_10_centos mysql] # systemctl daemon-reload [root@VM_0_10_centos mysql] # grep "A temporary password is generated for root@localhost" /var/log/mysqld.log 2018-08-02T02:19:55.829527Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !J:KUwU9y0ZR 2018-08-02T04:49:34.979689Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: pw< /s9 ,Wivm2 2018-08-04T02:40:46.781768Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: nNyK,Y)Wd0-G [root@VM_0_10_centos mysql] # mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.12 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> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.03 sec) mysql> CREATE USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.04 sec) mysql> GRANT ALL ON *.* TO 'easyoh-mp' @ '%' ; Query OK, 0 rows affected (0.03 sec) mysql> use mysql; Database changed mysql> select user,host,plugin from user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | easyoh-mp | % | caching_sha2_password | | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | caching_sha2_password | +------------------+-----------+-----------------------+ 5 rows in set (0.00 sec) mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED BY 'Pwd123@easyoh.net' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.04 sec) mysql> ALTER USER 'easyoh-mp' @ '%' IDENTIFIED WITH mysql_native_password BY 'Pwd123@easyoh.net' ; Query OK, 0 rows affected (0.05 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> show variables like '%character%' ; +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql-8 .0 /charsets/ | +--------------------------+--------------------------------+ 8 rows in set (0.01 sec) |
这里有个问题,新密码设置的时候如果设置的过于简单会报错:
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:
MySQL完整的初始密码规则可以通过如下命令查看:
?1 2 3 4 5 6 7 8 9 10 11 12 13 | mysql> SHOW VARIABLES LIKE 'validate_password%' ; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 4 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | LOW | | validate_password_special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.01 sec) |
密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:
?1 | validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count) |
我的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:
?1 2 | mysql> set global validate_password_policy=0; mysql> set global validate_password_length=1; |
总结
以上所述是小编给大家介绍的CentOS 7.4 64位安装配置MySQL8.0的详细步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.cnblogs.com/smiler/archive/2018/10/17/9802056.html
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。