一、添加 MySQL YUM 源

根据自己的操作系统版本选择合适的安装源(https://dev.mysql.com/downloads/repo/yum/),这里选择的是 CentOS 7,MySQL 8。点击 Download 按钮,进入下载页。可以直接下载 rpm 文件,再上传到 CentOS 7 系统,也可以通过复制链接地址(地址为:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm),进入 CentOS 7 系统,通过 wget 命令下载。

CentOS 7 & MySQL

这里以进入 CentOS 7 系统,通过 wget 命令下载为例,展示如何添加 MySQL yum 源,相关命令如下:

1
2
3
4
5
6
7
8
# 进入存放 rpm 文件的目录
$ cd /homw/software

# 下载 rpm 文件
$ wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 通过 rpm -Uvh 安装
$ sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

二、安装MySQL

安装好 yum 源后,直接通过以下命令即可安装 MySQL,非常简单,安装过程中会有两次让你确认下载或安装,直接输入 y 即可。

1
2
# 安装 MySQL
$ sudo yum install mysql-community-server

三、启动MySQL

启动 MySQL 命令:

1
$ systemctl start mysqld

可通过如下命令查看 MySQL 运行状态:

1
$ systemctl status mysqld

若输出以下的信息,则说明 MySQL 已经在运行中了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[mysqlu@202 software]$ sudo systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-12-27 15:48:33 CST; 11s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 22383 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 22459 (mysqld)
Status: "Server is operational"
CGroup: /system.slice/mysqld.service
└─22459 /usr/sbin/mysqld

Dec 27 15:48:25 202 systemd[1]: Starting MySQL Server...
Dec 27 15:48:33 202 systemd[1]: Started MySQL Server.

四、MySQL 8 root 用户默认登录密码问题

在 CentOS 7 系统中,通过 yum 方式安装 MySQL 8,需要使用以下命令查看 root 用户的默认密码:

1
$ sudo grep "temporary password" /var/log/mysqld.log

返回结果最后冒号后面的字符串就是root的默认密码。

如果提示不存在 /var/log/mysqld.log 文件,请确保您已经通过步骤三,启动过一次 MySQL 服务。这里再提下 MySQL服务的启动命令是:systemctl start mysqld.service

如以下的输出,root 用户的登录密码为 Eea*eoqoI9:I

1
2
3
[mysqlu@202 software]$ sudo grep "temporary password" /var/log/mysqld.log
[sudo] password for mysqlu:
2019-12-27T07:48:29.009116Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Eea*eoqoI9:I

五、登录MySQL,并修改默认密码

知道 MySQL 的 root 用户密码后,即可登录 MySQL 了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ mysql -uroot -p 
Enter password: # 这里输入密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.18

Copyright (c) 2000, 2019, 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 后,还不能做其他操作,会一直提示你修改默认密码,比如切换到 mysql 数据库:

1
2
mysql>  use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

修改默认密码的命令如下:

1
ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';

其中 MySQL 8 以上的密码策略限制必须要包含大小写字母、数字和特殊符号。如:

1
2
3
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '2020Super_Star';
Query OK, 0 rows affected (0.02 sec)

至此,你再执行其他命令,而不会提示你需要修改密码了。