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

HTML Basics_General Tags, Common Tags and Tables

Part 1 HTML <html> -- start tag <head>...

DOM operation table example (DOM creates table)

1. Create a table using HTML tags: Copy code The ...

Summary of MySQL 8.0 memory-related parameters

Theoretically, the memory used by MySQL = global ...

Introduction to NFS service construction under Centos7

Table of contents 1. Server 2. Client 3. Testing ...

Vue implements user login and token verification

In the case of complete separation of the front-e...

Tutorial on using the hyperlink tag in HTML

The various HTML documents of the website are con...

Detailed example of how to implement transaction commit and rollback in mysql

Recently, we need to perform a scheduled migratio...

How to add interface listening mask in Vue project

1. Business Background Using a mask layer to shie...

Analysis of GTK treeview principle and usage

The GtkTreeView component is an advanced componen...

Complete steps for using Nginx+Tomcat for load balancing under Windows

Preface Today, Prince will talk to you about the ...

The difference between distinct and group by in MySQL

Simply put, distinct is used to remove duplicates...

Several ways to use v-bind binding with Class and Style in Vue

Adding/removing classes to elements is a very com...