Detailed tutorial on installing mysql 8.0.20 on CentOS7.8

Detailed tutorial on installing mysql 8.0.20 on CentOS7.8

1. Install MySQL software

Download and install MySQL official Yum Repository, MySQL version 8.0.20

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

After downloading, install it directly with yum

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

Install MySQL Server

yum -y install mysql-community-server
[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 <[email protected]>"
 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!

After the installation is complete, the previous mariadb will be overwritten

2. Configure Mysql database

Start MySQL

systemctl start mysqld.service

Check MySQL running status

systemctl status mysqld.service
● 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.

Find out the root initial password

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

Enter the database:

mysql -uroot -p

Enter the password (the password is the one found above, /wsw6gif;eH). You cannot operate the database at this time. You must change the password before you can operate the database.

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

Replace 'new password' with the password you want to set. Note: The password must contain uppercase and lowercase letters, numbers, and special symbols (,/';:, etc.), otherwise the configuration will fail.

3. Enable remote access to mysql

Execute the following command to enable remote access restrictions (Note: the IP enabled in the following command is 192.168.0.1. If you want to enable all, use % instead of IP). MySQL 8.0 is different from previous versions. You cannot use the original command to authorize and create users at the same time:

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

Then enter the following two lines of commands

flush privileges;
exit

4. Add open ports to firewalld

Add mysql port 3306 and Tomcat port 8080

firewall-cmd --zone=public --add-port=3306/tcp --permanent
 
firewall-cmd --zone=public --add-port=8080/tcp --permanent

Reload

firewall-cmd --reload

Finally, log in with the mysql command under Windows

Microsoft Windows [Version 10.0.18363.778]
(c) 2019 Microsoft Corporation. All rights reserved.
 
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>

Modify the password security policy to LOW, and the minimum password length is 6 characters

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)

About mysql password policy related parameters;

1) validate_password.length: the total length of the fixed password;

2) validate_password_dictionary_file specifies the file path for password verification;

3) validate_password_mixed_case_count The total number of uppercase and lowercase letters that the entire password must contain;

4) validate_password_number_count The entire password must contain at least the number of Arabic numerals;

5) validate_password.policy specifies the password strength verification level, the default is MEDIUM;

6) validate_password_special_char_count The minimum number of special characters that the entire password must contain;

About the value of validate_password.policy:

LOW: only verify the length;

MEDIUM: Verify length, numbers, uppercase and lowercase letters, and special characters;

STRONG: Verify length, numbers, uppercase and lowercase letters, special characters, and dictionary files;

Summarize

This is the end of this article about installing mysql 8.0.20 on CentOS7.8. For more information about installing mysql 8.0.20 on CentOS7.8, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed installation process of MySQL5.6.40 under CentOS7 64
  • Detailed tutorial on installing MySQL 8.0.20 database on CentOS 7
  • Tutorial analysis of quick installation of mysql5.7 based on centos7
  • Detailed tutorial on how to compile and install mysql8.0.29 in CentOS8 deployment LNMP environment
  • CentOS7.5 installation of MySQL8.0.19 tutorial detailed instructions
  • Install CentOS7 in VMware (set static IP address) and install mySql database through docker container (super detailed tutorial)
  • Centos7 mysql database installation and configuration tutorial

<<:  Issues and precautions about setting maxPostSize for Tomcat

>>:  Vue implements horizontal beveled bar chart

Recommend

Application of Beautiful Style Sheets in XHTML+CSS Web Page Creation

This is an article written a long time ago. Now it...

Pure CSS drop-down menu

Achieve results Implementation Code html <div ...

Example code for making the pre tag automatically wrap

The pre element defines preformatted text. Text en...

Sample code for implementing two-way authentication with Nginx+SSL

First create a directory cd /etc/nginx mkdir ssl ...

How to deploy Solidity smart contracts using ethers.js

If you have developed DApps on Ethereum, you may ...

Vue realizes click flip effect

Use vue to simply implement a click flip effect f...

Detailed explanation of the failure of MySQL to use UNION to connect two queries

Overview UNION The connection data set keyword ca...

Summary of essential knowledge points for MySQL query optimization

Preface Query optimization is not something that ...

How to add custom system services to CentOS7 systemd

systemd: The service systemctl script of CentOS 7...

Introduction to Docker Architecture

Docker includes three basic concepts: Image: A Do...

Native JS implements a very good-looking counter

Today I will share with you a good-looking counte...

Summary of three rules for React state management

Table of contents Preface No.1 A focus No.2 Extra...

Example code of html formatting json

Without further ado, I will post the code for you...

In-depth understanding of the use of r2dbc in MySQL

Introduction MySQL should be a very common databa...