目录

  • 1.下载 MySQL 的 yum 仓库源
  • 2. 安装 yum 源
  • 3. 安装 MySQL
  • 4. 启动 MySQL 服务器
  • 5. 登陆数据库
  • 5.1 MySQL 5.7
  • 5.2 MySQL 8.0
  • 6. 修改 root 的密码
  • 6.1 MySQL 5.7 操作
  • 6.2 MySQL 8.0 操作

参考资料:MySQL 官方 – A Quick Guide to Using the MySQL Yum Repository

1.下载 MySQL 的 yum 仓库源

在这里是下载到了 /opt 目录中,使用的是 root 用户,请根据实际使用情况更改。

cd /opt

sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

# 推荐使用最新的源:2023-07-29 更新
sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm

2. 安装 yum 源

sudo rpm -ivh mysql80-community-release-el8-1.noarch.rpm

# 推荐使用最新的源:2023-07-29 更新
sudo rpm -ivh mysql80-community-release-el8-7.noarch.rpm

3. 安装 MySQL

sudo yum install mysql-community-server

【注】如果是服务器版本的 CentOS 安装 MySQL 时是没有输入密码的,桌面版的可以输入密码。

如果安装提示找不到 mysql-community-server ,请参考文章:CentOS 8 服务器安装 MySQL 报错:no match mysql-community-server

4. 启动 MySQL 服务器

启动服务:

sudo service mysqld start
# 或 (CentOS 7 或 CentOS 8 推荐下面的命令)
sudo systemctl start mysqld.service

查看服务器的状态:

sudo service mysqld status
# 或 (CentOS 7 或 CentOS 8 推荐下面的命令)
sudo systemctl status mysqld.service

5. 登陆数据库

5.1 MySQL 5.7

安装完成后 root 的密码为空密码,可以从安装的日志中查看。

【注】请注意与上一版本 5.7 的区别,5.7 会在日志中生成 root 用户的随机密码,但是 8 版本目前不会生成,以后应该会有,毕竟官网目前说的是(截止到 MySQL 5.7 为止) 2022-11-24 更新:8.0 目前也已经有了,详见 5.2

less /var/log/mysql/mysqld.log

centos8 部署mysql8 centos8安装数据库_centos

如果当前系统登陆的用户为 root 可以直接使用以下命令快速登陆,等同于 mysql -uroot --skip-password,因为 root 没有密码,所以不需要使用 sudo mysql -uroot -p 命令,如果使用该命令,则当需要输入密码的时候直接回车即可。

#输入 mysql 直接回车即可
mysql

【注】mysql_secure_installation 指令只对 MySQL 5.6 有效,从 MySQL 5.7 开始就已经不能使用。

5.2 MySQL 8.0

【注】现在 8.0 版本也会自动生成随机密码(需要先启动 MySQL,不启动是不会生成的),测试版本为: 8.0.31,暂未深究从哪个小版本开始支持的。

# 启动 MySQL
systemctl start mysqld.service
# 可以增加开机启动
systemctl enable mysqld.service

less /var/log/mysqld.log

#打开如下所示:
[MY-010454] [Server] A temporary password is generated for root@localhost: y,zAao(r

6. 修改 root 的密码

6.1 MySQL 5.7 操作

使用 mysql 登陆,然后修改root的密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

#输入 quit; 退出 mysql 
mysql> quit;

这时再直接输入 mysql 就不允许登陆了,因为我们已经为 root 设置了密码,需要通过密码才能进行登陆。

mysql -uroot -p
Enter password:  # 输入设置的密码并回车

6.2 MySQL 8.0 操作

MySQL 8.0 之后操作会有些复杂。

mysql -uroot -p
Enter password:  # 输入设置的密码并回车, 密码为 mysqld.log 中的临时密码

【注】: 必须要先重置 root@localhost 的密码,就是不要使用临时密码;否则会报错如下:

mysql> use mysql
No connection. Trying to reconnect...
Connection id:    13
Current database: *** NONE ***

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

而且重置密码的时候必须满足 MySQL 的密码校验规则要求,尽可能设置复杂的密码,等后续可以更改密码校验规则,再使用简单的密码校验。

# 密码 大小写 + 数字 + 一个符号,且大于 8 位即可。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '一个很复杂的密码';

#输入 quit; 退出 mysql 
mysql> quit;

恭喜你!这样 MySQL 就安装好了!