CentOS8 Yum安装MySQL

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS8 Yum安装MySQL相关的知识,希望对你有一定的参考价值。

RPM包安装mysql

  • CentOS 8:安装光盘直接提供
    • mysql-server:8.0
    • mariadb-server : 10.3.17
  • CentOS 7:安装光盘直接提供 (抛弃了mysql)
    • mariadb-server:5.5 服务器包
    • mariadb 客户端工具包
  • CentOS 6:
    • mysql-server:5.1 服务器包
    • mysql 客户端工具包

CentOS 8 yum安装自带mysql

yum -y install mysql-server
  • 安装 mysql-community-server是不行的
[root@C8-194 ~]# yum -y install mysql-community-server
Last metadata expiration check: 0:28:45 ago on Wed 12 May 2021 05:03:54 PM CST.
No match for argument: mysql-community-server
Error: Unable to find a match: mysql-community-server
  • 需要安装mysql-server
[root@C8-194 ~]# yum -y install mysql-server
Last metadata expiration check: 0:28:53 ago on Wed 12 May 2021 05:03:54 PM CST.
Dependencies resolved.
===============================================================================================================
 Package                           Arch        Version                                    Repository      Size
===============================================================================================================
Installing:
 mysql-server                      x86_64      8.0.21-1.module_el8.2.0+493+63b41e36       AppStream       22 M
Upgrading:
 audit                             x86_64      3.0-0.17.20191104git1c2f876.el8            BaseOS         254 k
 audit-libs                        x86_64      3.0-0.17.20191104git1c2f876.el8            BaseOS         116 k
 libsemanage                       x86_64      2.9-3.el8                                  BaseOS         165 k
 policycoreutils                   x86_64      2.9-9.el8                                  BaseOS         377 k
Installing dependencies:
 checkpolicy                       x86_64      2.9-1.el8                                  BaseOS         348 k
 libaio                            x86_64      0.3.112-1.el8                              BaseOS          33 k
 policycoreutils-python-utils      noarch      2.9-9.el8                                  BaseOS         251 k
 python3-audit                     x86_64      3.0-0.17.20191104git1c2f876.el8            BaseOS          86 k
 python3-libsemanage               x86_64      2.9-3.el8                                  BaseOS         127 k
 python3-policycoreutils           noarch      2.9-9.el8                                  BaseOS         2.2 M
 python3-setools                   x86_64      4.3.0-2.el8                                BaseOS         626 k
 mecab                             x86_64      0.996-1.module_el8.2.0+493+63b41e36.9      AppStream      393 k
 mysql-errmsg                      x86_64      8.0.21-1.module_el8.2.0+493+63b41e36       AppStream      581 k
 protobuf-lite                     x86_64      3.5.0-13.el8                               AppStream      149 k

Transaction Summary
===============================================================================================================
Install  11 Packages
Upgrade   4 Packages

Total download size: 28 M
Downloading Packages:
(1/15): libaio-0.3.112-1.el8.x86_64.rpm                                        238 kB/s |  33 kB     00:00    
(2/15): policycoreutils-python-utils-2.9-9.el8.noarch.rpm                      1.1 MB/s | 251 kB     00:00    
(3/15): python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64.rpm               1.0 MB/s |  86 kB     00:00    
(4/15): python3-libsemanage-2.9-3.el8.x86_64.rpm                               3.2 MB/s | 127 kB     00:00    
(5/15): checkpolicy-2.9-1.el8.x86_64.rpm                                       1.3 MB/s | 348 kB     00:00    
(6/15): python3-setools-4.3.0-2.el8.x86_64.rpm                                 4.6 MB/s | 626 kB     00:00    
(7/15): mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64.rpm           2.0 MB/s | 581 kB     00:00    
(8/15): mecab-0.996-1.module_el8.2.0+493+63b41e36.9.x86_64.rpm                 892 kB/s | 393 kB     00:00    
(9/15): python3-policycoreutils-2.9-9.el8.noarch.rpm                           4.1 MB/s | 2.2 MB     00:00    
(10/15): protobuf-lite-3.5.0-13.el8.x86_64.rpm                                 2.2 MB/s | 149 kB     00:00    
(11/15): audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64.rpm                 706 kB/s | 116 kB     00:00    
(12/15): libsemanage-2.9-3.el8.x86_64.rpm                                      2.3 MB/s | 165 kB     00:00    
(13/15): policycoreutils-2.9-9.el8.x86_64.rpm                                  2.2 MB/s | 377 kB     00:00    
(14/15): audit-3.0-0.17.20191104git1c2f876.el8.x86_64.rpm                      289 kB/s | 254 kB     00:00    
(15/15): mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64.rpm          7.7 MB/s |  22 MB     00:02    
---------------------------------------------------------------------------------------------------------------
Total                                                                          7.8 MB/s |  28 MB     00:03     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                       1/1 
  Running scriptlet: audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64                                     1/1 
  Upgrading        : audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64                                    1/19 
  Upgrading        : libsemanage-2.9-3.el8.x86_64                                                         2/19 
  Installing       : python3-libsemanage-2.9-3.el8.x86_64                                                 3/19 
  Upgrading        : policycoreutils-2.9-9.el8.x86_64                                                     4/19 
  Running scriptlet: policycoreutils-2.9-9.el8.x86_64                                                     4/19 
  Installing       : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64                                 5/19 
  Installing       : protobuf-lite-3.5.0-13.el8.x86_64                                                    6/19 
  Installing       : mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                             7/19 
  Installing       : mecab-0.996-1.module_el8.2.0+493+63b41e36.9.x86_64                                   8/19 
  Running scriptlet: mecab-0.996-1.module_el8.2.0+493+63b41e36.9.x86_64                                   8/19 
  Installing       : python3-setools-4.3.0-2.el8.x86_64                                                   9/19 
  Installing       : libaio-0.3.112-1.el8.x86_64                                                         10/19 
  Installing       : checkpolicy-2.9-1.el8.x86_64                                                        11/19 
  Installing       : python3-policycoreutils-2.9-9.el8.noarch                                            12/19 
  Installing       : policycoreutils-python-utils-2.9-9.el8.noarch                                       13/19 
  Running scriptlet: mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                            14/19 
  Installing       : mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                            14/19 
  Running scriptlet: mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                            14/19 
ValueError: File context for /var/log/mysql(/.*)? already defined

  Upgrading        : audit-3.0-0.17.20191104git1c2f876.el8.x86_64                                        15/19 
  Running scriptlet: audit-3.0-0.17.20191104git1c2f876.el8.x86_64                                        15/19 
  Running scriptlet: policycoreutils-2.9-3.el8.x86_64                                                    16/19 
  Cleanup          : policycoreutils-2.9-3.el8.x86_64                                                    16/19 
  Running scriptlet: audit-3.0-0.10.20180831git0047a6c.el8.x86_64                                        17/19 
  Cleanup          : audit-3.0-0.10.20180831git0047a6c.el8.x86_64                                        17/19 
  Running scriptlet: audit-3.0-0.10.20180831git0047a6c.el8.x86_64                                        17/19 
  Cleanup          : libsemanage-2.9-1.el8.x86_64                                                        18/19 
  Cleanup          : audit-libs-3.0-0.10.20180831git0047a6c.el8.x86_64                                   19/19 
  Running scriptlet: audit-libs-3.0-0.10.20180831git0047a6c.el8.x86_64                                   19/19 
  Verifying        : checkpolicy-2.9-1.el8.x86_64                                                         1/19 
  Verifying        : libaio-0.3.112-1.el8.x86_64                                                          2/19 
  Verifying        : policycoreutils-python-utils-2.9-9.el8.noarch                                        3/19 
  Verifying        : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64                                 4/19 
  Verifying        : python3-libsemanage-2.9-3.el8.x86_64                                                 5/19 
  Verifying        : python3-policycoreutils-2.9-9.el8.noarch                                             6/19 
  Verifying        : python3-setools-4.3.0-2.el8.x86_64                                                   7/19 
  Verifying        : mecab-0.996-1.module_el8.2.0+493+63b41e36.9.x86_64                                   8/19 
  Verifying        : mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                             9/19 
  Verifying        : mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                            10/19 
  Verifying        : protobuf-lite-3.5.0-13.el8.x86_64                                                   11/19 
  Verifying        : audit-3.0-0.17.20191104git1c2f876.el8.x86_64                                        12/19 
  Verifying        : audit-3.0-0.10.20180831git0047a6c.el8.x86_64                                        13/19 
  Verifying        : audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64                                   14/19 
  Verifying        : audit-libs-3.0-0.10.20180831git0047a6c.el8.x86_64                                   15/19 
  Verifying        : libsemanage-2.9-3.el8.x86_64                                                        16/19 
  Verifying        : libsemanage-2.9-1.el8.x86_64                                                        17/19 
  Verifying        : policycoreutils-2.9-9.el8.x86_64                                                    18/19 
  Verifying        : policycoreutils-2.9-3.el8.x86_64                                                    19/19 

Upgraded:
  audit-3.0-0.17.20191104git1c2f876.el8.x86_64        audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64       
  libsemanage-2.9-3.el8.x86_64                        policycoreutils-2.9-9.el8.x86_64                        

Installed:
  mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                                                     
  checkpolicy-2.9-1.el8.x86_64                                                                                 
  libaio-0.3.112-1.el8.x86_64                                                                                  
  policycoreutils-python-utils-2.9-9.el8.noarch                                                                
  python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64                                                         
  python3-libsemanage-2.9-3.el8.x86_64                                                                         
  python3-policycoreutils-2.9-9.el8.noarch                                                                     
  python3-setools-4.3.0-2.el8.x86_64                                                                           
  mecab-0.996-1.module_el8.2.0+493+63b41e36.9.x86_64                                                           
  mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64                                                     
  protobuf-lite-3.5.0-13.el8.x86_64                                                                            

Complete!

启动mysql服务并设置为开机启动

[root@C8-194 ~]# systemctl enable --now mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@C8-194 ~]# systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-05-12 17:36:06 CST; 48s ago
  Process: 2879 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 2753 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 2728 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 2835 (mysqld)
   Status: "Server is operational"
    Tasks: 39 (limit: 11353)
   Memory: 432.9M
   CGroup: /system.slice/mysqld.service
           └─2835 /usr/libexec/mysqld --basedir=/usr

May 12 17:36:00 C8-194 systemd[1]: Starting MySQL 8.0 database server...
May 12 17:36:00 C8-194 mysql-prepare-db-dir[2753]: Initializing MySQL database
May 12 17:36:06 C8-194 systemd[1]: Started MySQL 8.0 database server.

查看端口是否已打开

[root@C8-194 ~]# ss -ntl | grep 3306
LISTEN   0         70                        *:33060                  *:*       
LISTEN   0         128                       *:3306                   *:* 
[root@C8-194 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 8
Server version: 8.0.21 Source distribution

查看数据库状态

mysql> status
mysql> status
--------------
mysql  Ver 8.0.21 for Linux on x86_64 (Source distribution)

Connection id:		8
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.21 Source distribution
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			8 min 28 sec

Threads: 2  Questions: 6  Slow queries: 0  Opens: 137  Flush tables: 3  Open tables: 55  Queries per second avg: 0.011
--------------

查看默认数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

跑一遍初始化脚本

  • 重置了密码
  • 仅用了匿名用户
  • 删除了默认库
[root@C8-194 ~]# mysql_secure_installation 

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 

Invalid option provided.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 

Invalid option provided.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Please set the password for root here.

New password: 

Re-enter new password: 

Estimated strength of the password: 25 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
 ... Failed! Error: Your password does not satisfy the current policy requirements

New password: 

Re-enter new password: 

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : 

New password: 

Re-enter new password: 

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

使用更改过的密码登录

mysql -uroot -p'aaaaaaaa'

[root@C8-194 ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@C8-194 ~]# mysql -uroot -p aaaaaaaa
Enter password: 
ERROR 1049 (42000): Unknown database 'aaaaaaaa'
[root@C8-194 ~]# mysql -uroot -p'aaaaaaaa'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 13
Server version: 8.0.21 Source distribution

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> 

再次查看自带数据库内容

  • 剩下的都是系统数据库了
mysql> show;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

以上是关于CentOS8 Yum安装MySQL的主要内容,如果未能解决你的问题,请参考以下文章

Centos8上yum安装mysql8

CentOS8 Yum安装MySQL

Centos8安装MySQL

CentOS8 服务器安装MySQL

(转 )centos8安装mysql

(转 )centos8安装mysql