linux安装mysql8.0,二进制码安装

1.获取二进制包

方法一:从官方 MySQL 站点下载(推荐)

这是最安全、最可靠的方式。

步骤:

打开浏览器访问:

https://dev.mysql.com/downloads/mysql/8.0.html

选择操作系统为 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)。

找到如下文件名(或类似):

mysql-8.0.27-el7-x86_64.tar.gz

点击 Download 按钮即可开始下载。

方法二:使用 wget 命令(Linux 终端)

如果你已经在 Linux 上,可以直接用 wget 下载(需先找到真实下载链接):

复制代码
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.27-el7-x86_64.tar.gz

2.解压缩

bash 复制代码
1. 准备安装目录
sudo tar -zxvf mysql-8.0.27-el7-x86_64.tar.gz -C /usr/local/
sudo mv /usr/local/mysql-8.0.27-el7-x86_64 /usr/local/mysql

3.创建用户和组

bash 复制代码
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

4.创建数据目录

bash 复制代码
sudo mkdir -p /data/mysql/{data,logs,tmp}
sudo chown -R mysql:mysql /data/mysql
sudo chmod -R 750 /data/mysql

5.初始化数据库

bash 复制代码
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

注意:若安装后使用systemctl start mysqld的指令报错,解决如下,使用以下步骤即可解决

配置文件

bash 复制代码
sudo tee /etc/my.cnf <<'EOF'
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
port=3306
log-error=/data/mysql/logs/error.log
pid-file=/data/mysql/mysql.pid
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
server-id=3
log-bin=mysql-bin
binlog_format=row
expire_logs_days=7
max_binlog_size=100M
relay_log=mysql-relay-bin
log_slave_updates=ON
skip_name_resolve=ON
innodb_flush_log_at_trx_commit=1
sync_binlog=1

[client]
socket=/tmp/mysql.sock
EOF

创建 systemd 服务文件(替代 SysV 脚本)

bash 复制代码
sudo tee /etc/systemd/system/mysqld.service <<'EOF'
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
Type=forking
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize
ExecStop=/usr/local/mysql/bin/mysqladmin -u root -p shutdown
Restart=on-failure
RestartSec=5s
PrivateTmp=true
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755

# 环境变量设置
Environment="MYSQL_HOME=/usr/local/mysql"
Environment="PATH=/usr/local/mysql/bin:/usr/bin"

[Install]
WantedBy=multi-user.target
EOF

设置环境变量

bash 复制代码
# 添加 MySQL 到系统路径
echo 'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee -a /etc/profile
source /etc/profile

# 验证路径
which mysqld

修复权限问题

bash 复制代码
# 设置目录所有权
sudo chown -R mysql:mysql /usr/local/mysql
sudo chown -R mysql:mysql /data/mysql

# 创建必要的目录
sudo mkdir -p /data/mysql/logs /data/mysql/tmp
sudo chmod -R 750 /data/mysql

重新初始化数据库

bash 复制代码
# 备份旧数据(如有)
sudo mv /data/mysql/data /data/mysql/data.bak
sudo mkdir /data/mysql/data
sudo chown mysql:mysql /data/mysql/data

# 重新初始化
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql \
  --basedir=/usr/local/mysql \
  --datadir=/data/mysql/data

启动服务

bash 复制代码
# 重新加载 systemd
sudo systemctl daemon-reload

# 启动 MySQL
sudo systemctl start mysqld

# 检查状态
sudo systemctl status mysqld

安装成功!

相关推荐
Adorable老犀牛2 分钟前
nginx_exporter:Prometheus 监控 Nginx 基础指标
运维·nginx·prometheus
山里幽默的程序员4 分钟前
DevOps 必备:盘点2026 年最强RESTful API 接口测试方案
运维·restful·devops·api开发·api开发工具
happymaker06265 分钟前
Linux常见命令总结
linux·运维·服务器
加农炮手Jinx7 分钟前
Flutter for OpenHarmony:pub_updater 命令行工具自动更新专家(DevOps 运维必备) 深度解析与鸿蒙适配指南
android·运维·网络·flutter·华为·harmonyos·devops
不念霉运8 分钟前
Gitee领跑2025中国DevOps市场:本土力量崛起
运维
无心水8 分钟前
【Hermes:团队、企业、生态与边界】47、Hermes 在 CI/CD 中的完整 DevOps 流水线:从 PR 审查到自动部署,让 Agent 接管你的发布流程
运维·人工智能·devops·openclaw·养龙虾·hermes·honcho
lbb 小魔仙9 分钟前
【Linux】DevOps 工程师必备:Linux 自动化脚本与高效工具链整合
linux·自动化·devops
开源量化GO21 分钟前
期货 K 线算信号 tick 级止损:天勤双序列 wait_update 触发规则
linux·运维·服务器·python
m0_7381207222 分钟前
HVV应急溯源基础——Linux 系统安全加固配置指南(一)
linux·运维·服务器·安全·网络安全·系统安全
武子康26 分钟前
调查研究-167 Docker Compose 详解:从单容器到多服务编排的工程化入口
运维·docker·云原生·容器·kubernetes·k8s·docker-compose