centosu7 二进制安装mysql5.7

一、准备工作

1. 卸载原有MariaDB(如有)
sudo yum remove -y mariadb-libs
sudo rm -rf /var/lib/mysql
2. 安装依赖
sudo yum install -y libaio numactl openssl-devel
3. 创建MySQL用户和目录
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
sudo mkdir -p /data/mysql/{data,logs,tmp}
sudo chown -R mysql:mysql /data/mysql

二、下载并安装MySQL 5.7

1. 下载二进制包(选择国内镜像加速)
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
2. 解压并安装
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local
sudo ln -s mysql-5.7.44-linux-glibc2.12-x86_64 mysql
3. 配置环境变量
echo 'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee /etc/profile.d/mysql.sh
source /etc/profile

三、初始化数据库

1. 初始化数据目录
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/data/mysql/data \
--log-error=/data/mysql/logs/mysql-error.log

注意:初始化后会生成临时root密码,记录在日志中:

sudo grep 'temporary password' /data/mysql/logs/mysql-error.log
2. 生成SSL/RSA文件
sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data

四、配置MySQL服务

1. 创建配置文件 /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock
log-error=/data/mysql/logs/mysql-error.log
pid-file=/data/mysql/mysql.pid

character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
max_connections=1000
tmpdir=/data/mysql/tmp

[client]
socket=/data/mysql/mysql.sock
2. 创建Systemd服务文件 /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target
3. 启动服务
sudo systemctl daemon-reload
sudo systemctl start mysqld
sudo systemctl enable mysqld

五、安全配置

1. 运行安全向导
sudo /usr/local/mysql/bin/mysql_secure_installation

按提示操作:

  1. 输入初始化时的临时密码

  2. 设置新root密码

  3. 移除匿名用户(选Y)

  4. 禁止root远程登录(选Y)

  5. 移除test数据库(选Y)

  6. 重载权限表(选Y)

2. 开放防火墙(如需远程访问)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

六、验证安装

mysql -u root -p -e "SELECT VERSION();"

应输出类似:

+-----------+
| VERSION() |
+-----------+
| 5.7.44    |
+-----------+

七、故障排查指南

1. 启动失败检查
# 查看错误日志
sudo tail -50 /data/mysql/logs/mysql-error.log

# 检查权限
sudo ls -l /data/mysql/

# 检查端口占用
sudo netstat -tulnp | grep 3306
2. 常见问题解决
  • 错误1libaio.so.1: cannot open shared object file
    解决:sudo yum install -y libaio

  • 错误2PID file cannot create
    解决:

    sudo chown mysql:mysql /data/mysql
    sudo rm -f /data/mysql/mysql.pid

附:目录结构说明

/data/mysql/
├── data/      # 数据库文件
├── logs/      # 错误日志
└── tmp/       # 临时文件

按照此流程操作,即可在CentOS 7.6上完成MySQL 5.7的手动安装。如需远程访问,建议创建专用用户而非直接使用root。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linuxxx110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值