目錄
- 前言
- 一、首先更新插件,并查看當前系統版本
- 二、安裝步驟
- 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;
創建用戶、賦予權限,參考