服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - CentOS7.8安装mysql 8.0.20的教程详解

CentOS7.8安装mysql 8.0.20的教程详解

2021-01-18 14:26Tomchao Mysql

这篇文章主要介绍了CentOS7.8安装mysql 8.0.20的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、安装mysql软件

下载并安装MySQL官方的 Yum Repository,Mysql版本8.0.20

?
1
2
wget -i -c
http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

下载后直接yum安装

?
1
yum -y install mysql80-community-release-el7-3.noarch.rpm

安装MySQL服务器

?
1
yum -y install mysql-community-server
?
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
[root@CentOS Linux]# yum -y install mysql-community-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.lzu.edu.cn
 * extras: mirror.lzu.edu.cn
 * updates: mirror.lzu.edu.cn
mysql-connectors-community            | 2.5 kB 00:00:00 
mysql-tools-community             | 2.5 kB 00:00:00 
mysql80-community              | 2.5 kB 00:00:00 
(1/3): mysql-connectors-community/x86_64/primary_db      | 57 kB 00:00:00 
mysql-tools-community/x86_64/p FAILED           B 00:51:07 ETA
http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/repodata/12bd1e8730cd532791529877bf5e7babbbb02879-primary.sqlite.bz2: [Errno 12] Timeout on http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/repodata/12bd1e8730cd532791529877bf5e7babbbb02879-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
(2/3): mysql-tools-community/x86_64/primary_db       | 72 kB 00:00:00 
mysql80-community/x86_64/prima FAILED           B 00:00:15 ETA
http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/repodata/833c637b3989c2dd5a079a045177d2f1c96e9c1e-primary.sqlite.bz2: [Errno 12] Timeout on http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/repodata/833c637b3989c2dd5a079a045177d2f1c96e9c1e-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
(3/3): mysql80-community/x86_64/primary_db        | 107 kB 00:00:00 
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:8.0.20-1.el7 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 8.0.20-1.el7 for package: mysql-community-server-8.0.20-1.el7.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 8.0.11 for package: mysql-community-server-8.0.20-1.el7.x86_64
--> Running transaction check
---> Package mysql-community-client.x86_64 0:8.0.20-1.el7 will be installed
--> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.11 for package: mysql-community-client-8.0.20-1.el7.x86_64
---> Package mysql-community-common.x86_64 0:8.0.20-1.el7 will be installed
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.65-1.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
---> Package mysql-community-libs.x86_64 0:8.0.20-1.el7 will be obsoleting
--> Running transaction check
---> Package mysql-community-libs-compat.x86_64 0:8.0.20-1.el7 will be obsoleting
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===============================================================================================
 Package       Arch  Version    Repository    Size
===============================================================================================
Installing:
 mysql-community-libs    x86_64  8.0.20-1.el7  mysql80-community  4.5 M
  replacing mariadb-libs.x86_64 1:5.5.65-1.el7
 mysql-community-libs-compat  x86_64  8.0.20-1.el7  mysql80-community  1.2 M
  replacing mariadb-libs.x86_64 1:5.5.65-1.el7
 mysql-community-server   x86_64  8.0.20-1.el7  mysql80-community  488 M
Installing for dependencies:
 mysql-community-client   x86_64  8.0.20-1.el7  mysql80-community  47 M
 mysql-community-common   x86_64  8.0.20-1.el7  mysql80-community  609 k
 
Transaction Summary
===============================================================================================
Install 3 Packages (+2 Dependent packages)
 
Total download size: 541 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.20-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Public key for mysql-community-common-8.0.20-1.el7.x86_64.rpm is not installed
(1/5): mysql-community-common-8.0.20-1.el7.x86_64.rpm     | 609 kB 00:00:00 
(2/5): mysql-community-libs-8.0.20-1.el7.x86_64.rpm      | 4.5 MB 00:00:13 
(3/5): mysql-community-libs-compat-8.0.20-1.el7.x86_64.rpm    | 1.2 MB 00:00:04 
mysql-community-client-8.0.20- FAILED           B 00:22:23 ETA
http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-client-8.0.20-1.el7.x86_64.rpm: [Errno 12] Timeout on http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-client-8.0.20-1.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
(4/5): mysql-community-server-8.0.20-1.el7.x86_64.rpm     | 488 MB 00:22:18 
(5/5): mysql-community-client-8.0.20-1.el7.x86_64.rpm     | 47 MB 00:01:57 
-----------------------------------------------------------------------------------------------
Total               376 kB/s | 541 MB 00:24:34 
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
 Userid  : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
 Package : mysql80-community-release-el7-3.noarch (installed)
 From  : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
 Installing : mysql-community-common-8.0.20-1.el7.x86_64         1/6
 Installing : mysql-community-libs-8.0.20-1.el7.x86_64         2/6
 Installing : mysql-community-client-8.0.20-1.el7.x86_64         3/6
 Installing : mysql-community-server-8.0.20-1.el7.x86_64         4/6
 Installing : mysql-community-libs-compat-8.0.20-1.el7.x86_64        5/6
 Erasing : 1:mariadb-libs-5.5.65-1.el7.x86_64           6/6
 Verifying : mysql-community-libs-compat-8.0.20-1.el7.x86_64        1/6
 Verifying : mysql-community-common-8.0.20-1.el7.x86_64         2/6
 Verifying : mysql-community-server-8.0.20-1.el7.x86_64         3/6
 Verifying : mysql-community-client-8.0.20-1.el7.x86_64         4/6
 Verifying : mysql-community-libs-8.0.20-1.el7.x86_64         5/6
 Verifying : 1:mariadb-libs-5.5.65-1.el7.x86_64           6/6
 
Installed:
 mysql-community-libs.x86_64 0:8.0.20-1.el7            
 mysql-community-libs-compat.x86_64 0:8.0.20-1.el7          
 mysql-community-server.x86_64 0:8.0.20-1.el7            
 
Dependency Installed:
 mysql-community-client.x86_64 0:8.0.20-1.el7 mysql-community-common.x86_64 0:8.0.20-1.el7
 
Replaced:
 mariadb-libs.x86_64 1:5.5.65-1.el7
 
Complete!

安装完成后就会覆盖掉之前的mariadb

二、配置Mysql数据库

启动MySQL

?
1
systemctl start mysqld.service

查看MySQL运行状态

?
1
systemctl status mysqld.service
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
● mysqld.service - MySQL Server
 Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
 Active: active (running) since Wed 2020-05-13 23:57:41 HKT; 18s ago
  Docs: man:mysqld(8)
   http://dev.mysql.com/doc/refman/en/using-systemd.html
 Process: 9563 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 9649 (mysqld)
 Status: "Server is operational"
 Tasks: 39
 CGroup: /system.slice/mysqld.service
   └─9649 /usr/sbin/mysqld
 
May 13 23:57:34 CentOS.highning.com systemd[1]: Starting MySQL Server...
May 13 23:57:41 CentOS.highning.com systemd[1]: Started MySQL Server.

找出root初始密码

?
1
grep "password" /var/log/mysqld.log

2020-05-13T15:57:37.815353Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 9*CxxNRWHqmL

进入数据库:

?
1
mysql -uroot -p

输入密码(密码是上面查询到的 ,/wsw6gif;eH ),此时不能操作数据库,必须修改密码之后才能操作数据库

?
1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

其中‘new password'替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功

三、开启mysql的远程访问

执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.0.1,如要开启所有的,用%代替IP),mysql8.0和以前的版本不一样,不能用原来的命令同时授权和创建用户:

?
1
2
create user 'root'@'192.168.0.1' identified by 'password';
grant all privileges on *.* to 'root'@'192.168.0.1' with grant option;

再输入以下两行命令

?
1
2
flush privileges;
exit

四、为firewalld添加开放端口

添加mysql端口3306和Tomcat端口8080

?
1
2
3
firewall-cmd --zone=public --add-port=3306/tcp --permanent
 
firewall-cmd --zone=public --add-port=8080/tcp --permanent

重新载入

?
1
firewall-cmd --reload

最后在windows下用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
Microsoft Windows [版本 10.0.18363.778]
(c) 2019 Microsoft Corporation。保留所有权利。
 
C:\Users\highning>mysql -h 192.168.88.88 -P 3306 -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.20 MySQL Community Server - GPL
 
Copyright (c) 2000, 2020, 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> show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql    |
| performance_schema |
| sys    |
+--------------------+
4 rows in set (0.00 sec)
 
mysql>

修改密码安全策略,改为LOW,密码长度最小6位

?
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
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name      | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON  |
| validate_password.dictionary_file |  |
| validate_password.length    | 8  |
| validate_password.mixed_case_count | 1  |
| validate_password.number_count  | 1  |
| validate_password.policy    | MEDIUM |
| validate_password.special_char_count | 1  |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
 
mysql> set global validate_password.policy=LOW;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global validate_password.length=6;
Query OK, 0 rows affected (0.00 sec)
 
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name      | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file |  |
| validate_password.length    | 6  |
| 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.00 sec)

关于 mysql 密码策略相关参数;

1)、validate_password.length  固定密码的总长度;

2)、validate_password_dictionary_file 指定密码验证的文件路径;

3)、validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;

4)、validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;

5)、validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;

6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

关于 validate_password.policy 的取值:

LOW:只验证长度;

MEDIUM:验证长度、数字、大小写、特殊字符;

STRONG:验证长度、数字、大小写、特殊字符、字典文件;

总结

到此这篇关于CentOS7.8安装mysql 8.0.20的文章就介绍到这了,更多相关CentOS7.8安装mysql 8.0.20内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://segmentfault.com/a/1190000022637296

延伸 · 阅读

精彩推荐
  • MysqlMySQL 百万级分页优化(Mysql千万级快速分页)

    MySQL 百万级分页优化(Mysql千万级快速分页)

    MySql 性能到底能有多高?用了php半年多,真正如此深入的去思考这个问题还是从前天开始。有过痛苦有过绝望,到现在充满信心 ...

    MYSQL教程网4792019-12-09
  • Mysql数据库查询哪个对象里面包含什么字段方法语句

    数据库查询哪个对象里面包含什么字段方法语句

    在本篇文章里小编给大家整理的关于数据库查询哪个对象里面包含什么字段方法语句有需要的朋友们可以学习下。...

    大米的世界3512020-11-28
  • MysqlMysql5.6修改root密码教程

    Mysql5.6修改root密码教程

    今天小编就为大家分享一篇关于Mysql5.6修改root密码教程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看...

    炫酷飞扬3282019-06-03
  • Mysqlmysql 操作总结 INSERT和REPLACE

    mysql 操作总结 INSERT和REPLACE

    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。 ...

    mysql教程网1472019-10-31
  • Mysqlwindows环境下Mysql中文乱码问题解决方法

    windows环境下Mysql中文乱码问题解决方法

    在搭建Mysql环境的时候遇到了中文乱码问题,下面与大家分享下具体的解决方法,感兴趣的朋友可以参考下哈,希望对大家有所帮助 ...

    MYSQL教程网2062019-12-27
  • Mysql详细解读MySQL中的权限

    详细解读MySQL中的权限

    这篇文章主要介绍了MySQL中的权限,包括各个权限所能操作的事务以及操作权限的一些常用命令语句,需要的朋友可以参考下 ...

    MYSQL教程网5232020-05-05
  • MysqlMySQL-Python安装问题小记

    MySQL-Python安装问题小记

    这篇文章主要介绍了MySQL-Python安装问题小记,需要的朋友可以参考下 ...

    MYSQL教程网3322020-04-27
  • Mysqlmysql 跨表查询、更新、删除示例

    mysql 跨表查询、更新、删除示例

    这篇文章主要介绍了mysql 跨表查询、更新、删除,需要的朋友可以参考下 ...

    MYSQL教程网5082020-03-20