centos7安装MySQL8.4手册
目录
- 前言
- 一、首先更新插件,并查看当前系统版本
- 二、安装步骤
- 1、创建mysql目录
- 2、安装rpm包
- 3、安装 mysql-community-server
- 4、启动MySQL服务
- 5、查看MySQL状态
- 6、设置开机自启动
- 三、查看默认密码
- 四、登录mysql
- 五、修改密码
- 六、开启远程访问
- 1. 修改 MySQL 配置文件
- 2. 重启 MySQL 服务
- 3. 远程访问用户
- 5. 验证远程连接
前言
公司官网系统做等保测评,被扫描出来好多潜在的漏洞,其中就有mysql5.7的,给的建议是升级mysql8。所以就有了这篇文章。
一、首先更新插件,并查看当前系统版本
[root@localhost mysql8.4.5]# yum update
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.6.28-3.2.el7 将被 升级
查看centos7 系统版本
[root@localhost mysql8.4.5]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost mysql8.4.5]#
二、安装步骤
1、创建mysql目录
[root@localhost ~]# cd /usr/local/soft/
[root@localhost soft]# ll
总用量 0
drwxr-xr-x. 9 root root 186 3月 15 11:52 nginx-1.21
[root@localhost soft]# mkdir mysql8.4
[root@localhost soft]# cd mysql8.4/
2、安装rpm包
[root@localhost mysql8.4]# yum install https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
3、安装 mysql-community-server
[root@localhost mysql8.4]# yum install -y mysql-community-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
mysql-8.4-lts-community | 3.0 kB 00:00:00
mysql-connectors-community | 2.6 kB 00:00:00
mysql-tools-8.4-lts-community | 2.6 kB 00:00:00
(1/3): mysql-tools-8.4-lts-community/x86_64/primary_db | 15 kB 00:00:01
(2/3): mysql-connectors-community/x86_64/primary_db | 126 kB 00:00:01
(3/3): mysql-8.4-lts-community/x86_64/primary_db | 50 kB 00:00:02
正在解决依赖关系
4、启动MySQL服务
启动 mysql,的时候没有出现任何提示说明启动成功了
[root@localhost mysql8.4]# systemctl start mysqld
[root@localhost mysql8.4]# systemctl status mysql
Unit mysql.service could not be found.
[root@localhost mysql8.4]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since 五 2025-07-18 20:36:17 CST; 12s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 27593 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 28434 (mysqld)Status: "Server is operational"Tasks: 36Memory: 435.4MCGroup: /system.slice/mysqld.service└─28434 /usr/sbin/mysqld7月 18 20:36:11 localhost.localdomain systemd[1]: Starting MySQL Server...
7月 18 20:36:17 localhost.localdomain systemd[1]: Started MySQL Server.
[root@localhost mysql8.4]# systemctl enable mysqld
5、查看MySQL状态
[root@localhost mysql8.4]# systemctl status mysql
6、设置开机自启动
[root@localhost mysql8.4]# systemctl enable mysqld
三、查看默认密码
[root@localhost mysql8.4]# cat /var/log/mysqld.log
2025-07-18T12:36:12.101245Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2025-07-18T12:36:12.104145Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.5) initializing of server in progress as process 28041
2025-07-18T12:36:12.119853Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-07-18T12:36:12.551607Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-07-18T12:36:13.996497Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: oLoblw2j=<!0
四、登录mysql
[root@localhost mysql8.4]# mysql -uroot -p
#### 提示输入密码的时候,输入上图的密码即可。
五、修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ltx.xxxx.xxm';
修改密码报错 参考
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ltx.xxxx.xxM';
参考步骤,之后记得改回来
-- 设置最小密码长度为4
SET GLOBAL validate_password.length = 4;-- 设置密码策略为LOW
SET GLOBAL validate_password.policy = 0;-- 修改密码为简单密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';-- 为了确保所有会话都能使用新密码,刷新权限
FLUSH PRIVILEGES;
六、开启远程访问
要在 MySQL 8.4 中开启远程访问,可以按照以下步骤进行配置:
1. 修改 MySQL 配置文件
首先,找到并编辑 MySQL 的配置文件 my.cnf 。配置文件的位置取决于你的操作系统和 MySQL 的安装方式:
- 在 Linux 上,通常位于 /etc/mysql/my.cnf 或 /etc/my.cnf。
- 在 Windows 上,通常位于 MySQL 安装目录下的 my.ini 文件。
[root@localhost mysql8.4]# vim /etc/my.cnf
[root@localhost mysql8.4]#
打开配置文件,找到 [mysqld] 部分,确保有以下配置:
[mysqld]
bind-address = 0.0.0.0
bind-address 设置为 0.0.0.0 意味着 MySQL 将监听所有网络接口的连接请求。
2. 重启 MySQL 服务
修改配置文件后,重启 MySQL 服务以使更改生效:
[root@localhost mysql8.4]# vim /etc/my.cnf
[root@localhost mysql8.4]# systemctl restart mysqld
3. 远程访问用户
3.1 允许root 远程访问
use mysql;update user set host = '%' where user = 'root';flush privileges;
mysql> select host, user from user;
3.2 创建远程访问用户
mysql> CREATE USER 'ltxxst'@'%' IDENTIFIED BY 'lt.xxxx.xxt';
Query OK, 0 rows affected (0.00 sec)
FLUSH PRIVILEGES;
创建用户、赋予权限,参考