CentOS 7 安装 MySQL 8.4.6(二进制包)指南

发布于:2025-07-27 ⋅ 阅读:(18) ⋅ 点赞:(0)

CentOS 7 安装 MySQL 8.4.6(二进制包)指南

MySQL社区版本下载地址:https://dev.mysql.com/downloads/mysql/ ,其中LTS为长期支持版本。

因CentOS7默认 glibc 版本为 2.17,官方不支持升级到 2.28,强行升级会破坏系统稳定性.

此处下载mysql-8.0.43-linux-glibc2.17-x86_64-minimal.tar.xz 最小安装版本。


🧰 一、创建可登录的 mysql 用户(由 root 执行一次)

# 创建用户组
sudo groupadd mysql

# 创建可登录用户,主目录为 /home/ap/mysql
sudo useradd -r -g mysql -d /home/ap/mysql -s /bin/bash mysql

# 创建主目录并设置权限
sudo mkdir -p /home/ap/mysql
sudo chown -R mysql:mysql /home/ap/mysql

# 设置密码为 123456
echo 'mysql:123456' | sudo chpasswd

🚶 二、切换到 mysql 用户(后续操作都用该用户)

su - mysql

# 设置下PS1和MySQL环境变量
vi .bash_profile

# 添加行,此处文件夹不存在,可安装完成后配置
export PATH=/home/ap/mysql/mysql-8.0.43/bin:$PATH
export PS1="[\u@\h:\w] # "

source .bash_profile

输入密码:123456


📦 三、下载并解压 MySQL 到指定目录

mysql-8.0.43-linux-glibc2.17-x86_64-minimal.tar.xz 文件放到 /home/ap/mysql/ 目录下。

cd /home/ap/mysql
tar -xf mysql-8.0.43-linux-glibc2.17-x86_64-minimal.tar.xz
mv mysql-8.0.43-linux-glibc2.17-x86_64-minimal mysql-8.0.43

✅ 解压后目录为:/home/ap/mysql/mysql-8.0.43

设置权限:

chown -R mysql:mysql /home/ap/mysql/mysql-8.0.43

🔧 四、初始化数据库

mkdir -p /home/ap/mysql/mysql-8.0.43/data

cd /home/ap/mysql/mysql-8.0.43
./bin/mysqld --initialize-insecure \
  --user=mysql \
  --basedir=/home/ap/mysql/mysql-8.0.43 \
  --datadir=/home/ap/mysql/mysql-8.0.43/data

✅ 使用 --initialize-insecure 不生成随机密码,便于后续手动设置。


📁 五、创建配置文件 my.cnf(放在安装目录下)

touch /home/ap/mysql/mysql-8.0.43/my.cnf

写入以下内容:

[client]
port = 3306
socket = /home/ap/mysql/mysql-8.0.43/mysql.sock

[mysqld]
port = 3306
socket = /home/ap/mysql/mysql-8.0.43/mysql.sock
datadir = /home/ap/mysql/mysql-8.0.43/data
basedir = /home/ap/mysql/mysql-8.0.43
user = mysql
bind-address = 0.0.0.0
skip-name-resolve
innodb_file_per_table = 1
default_authentication_plugin = mysql_native_password
log-error = /home/ap/mysql/mysql-8.0.43/data/mysql.err
pid-file = /home/ap/mysql/mysql-8.0.43/data/mysqld.pid

保存并退出。


🔄 六、配置 systemd 服务(需 root 权限)

此步仍需 root 权限,由管理员执行

切换回 root 用户:

exit

编辑或创建 /etc/systemd/system/mysqld.service 文件:

sudo touch /etc/systemd/system/mysqld.service

写入以下内容:

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/home/ap/mysql/mysql-8.0.43/bin/mysqld --defaults-file=/home/ap/mysql/mysql-8.0.43/my.cnf
ExecReload=/usr/bin/kill -HUP $MAINPID
ExecStop=/usr/bin/kill -TERM $MAINPID
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target

保存并退出。

重载 systemd:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable mysqld
sudo systemctl start mysqld

🔐 七、设置 root 密码为 123456,并允许远程访问

再次切换到 mysql 用户:

su - mysql

创建 ~/.my.cnf(当前用户配置)执行:

cat > ~/.my.cnf <<EOF
[client]
socket = /home/ap/mysql/mysql-8.0.43/mysql.sock
EOF

连接到 MySQL:

cd /home/ap/mysql/mysql-8.0.43
mysql -u root

在 MySQL 命令行中执行:

-- 设置 root 本地密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

-- 添加 root 远程访问权限
CREATE USER 'root'@'%' IDENTIFIED BY '123456';

-- 授权远程 root 用户所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出
exit

🌐 八、开放防火墙(允许远程访问)

此步需 root 权限

切换回 root 用户:

exit

开放 MySQL 端口:

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

🧪 九、验证安装

mysql -u root -p

输入密码 123456,如果进入 MySQL 命令行界面,说明安装成功。


📁 十、目录结构说明

路径 说明
/home/ap/mysql/mysql-8.0.43 MySQL 安装目录
/home/ap/mysql/mysql-8.0.43/bin 可执行命令
/home/ap/mysql/mysql-8.0.43/data 数据目录
/home/ap/mysql/mysql-8.0.43/my.cnf 配置文件
/home/ap/mysql/mysql-8.0.43/mysql.sock socket 文件
/home/ap/mysql/mysql-8.0.43/data/mysql.err 错误日志

✅ 十一、总结

步骤 内容
用户 mysql(可登录)
安装路径 /home/ap/mysql/mysql-8.0.43
数据目录 /home/ap/mysql/mysql-8.0.43/data
root 密码 123456
支持远程 是(root@%
启动方式 systemctl start mysqld


网站公告

今日签到

点亮在社区的每一天
去签到