MySQL 5.7.43 二进制安装指南:从零开始的高效快速实现安装部署

目录

引言:为什么选择二进制安装?

1 环境准备

1.1 基础环境检查

1.2 系统安全设置

2 系统优化配置

2.1 磁盘调度策略

2.2 系统资源限制

3 mariadb删除

4 依赖包安装

5 MySQL二进制安装包下载

6 MySQL安装部署

6.1 解压安装包

6.2 创建用户以及用户组

6.3 创建数据、日志相关目录

6.4 初始化MySQL

6.5 配置MySQL配置文件

6.6 添加mysqld到系统服务

6.7 创建mysqld的systemd服务文件

6.8 启动MySQL

6.9 配置MySQL环境变量

6.10 设置开机自启动

6.11 修改密码

7 验证

8 常见问题

8.1 忘记临时密码

9 总结


引言:为什么选择二进制安装?

MySQL官方提供的二进制版本(Binary Distribution)相比源码编译安装具有部署快速依赖简单的优势。本文将手把手带您在CentOS 7.9上完成MySQL 5.7.43的完整部署。

1 环境准备

1.1 基础环境检查

操作系统:CentOS Linux release 7.9.2009 (Core)

MySQL版本:5.7.43

系统内存:4GB(虚拟机)

存储空间:20GB

安装包:mysql-5.7.43-el7-x86_64.tar.gz

  •  验证命令
cat /etc/redhat-release
free -h
df -h

1.2 系统安全设置

  • 防火墙操作
systemctl stop firewalld
systemctl disable firewalld
  • SELinux配置
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
grep SELINUX /etc/selinux/config
  • 时区设置
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

系统优化配置

2.1 磁盘调度策略

# 针对数据库,建议用deadline方式,具体如下
cat /sys/block/sda/queue/scheduler
noop [deadline] cfq

[root@node-1 ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq 
[root@node-1 ~]# 

2.2 系统资源限制

vi /etc/security/limits.conf
# 编辑该文件,添加如下内容
* soft nofile 10240
* hard nofile 10240
* soft noproc 10240
* hard noproc 10240

3 mariadb删除

# 这里我之前已经删除过
[root@node-1 ~]# yum -y remove mariadb*
Loaded plugins: fastestmirror, langpacks
No Match for argument: mariadb*
No Packages marked for removal
[root@node-1 ~]# 

4 依赖包安装

# 安装命令
yum install -y libaio numactl

5 MySQL二进制安装包下载

网址:https://downloads.mysql.com/archives/community/

MySQL安装部署

6.1 解压安装包

# 解压安装包并移动
tar -zxvf mysql-5.7.43-el7-x86_64.tar.gz
mkdir -p /usr/local/mysql
mv mysql-5.7.43-el7-x86_64/* /usr/local/mysql

6.2 创建用户以及用户组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

6.3 创建数据、日志相关目录

mkdir -p /data/mysql/{data,log,tmp,backup}
chown -R mysql:mysql /data/mysql
chmod -R 750 /data/mysql

6.4 初始化MySQL

cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
#初 始化完成后,会生成一个临时密码,请记录,后面修改密码时需要用到(在A temporary password行最后处)

6.5 配置MySQL配置文件

vim /etc/my.cnf
 
# 创建编辑MySQL配置文件/etc/my.cnf,并添加以下内容
cat >/etc/my.cnf<<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
log-error=/data/mysql/log/mysql.log
pid-file=/data/mysql/mysql.pid
 
# 日志文件配置
slow_query_log = 1
slow_query_log_file = /data/mysql/log/slow.log
long_query_time = 2
log_bin = /data/mysql/log/mysql-bin.log
expire_logs_days = 7
 
# 设置 server-id
server-id=2
 
# 临时文件目录
tmpdir=/data/mysql/tmp
 
[client]
socket=/tmp/mysql.sock
EOF

6.6 添加mysqld到系统服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

6.7 创建mysqld的systemd服务文件

vim /usr/lib/systemd/system/mysqld.service
 
# 创建文件mysqld.service,并添加如下内容
cat >/usr/lib/systemd/system/mysqld.service<<EOF
[Unit]
Description=MySQL Server
After=network.target
 
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecStop=/usr/local/mysql/bin/mysqladmin -u root -p shutdown
Restart=on-failure
RestartSec=5
 
[Install]
WantedBy=multi-user.target
EOF

6.8 启动MySQL

[root@node-1 mysql]# systemctl start mysqld
[root@node-1 mysql]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2025-03-01 20:01:33 CST; 8s ago
 Main PID: 13686 (mysqld)
    Tasks: 27
   Memory: 133.9M
   CGroup: /system.slice/mysqld.service
           └─13686 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

Mar 01 20:01:33 node-1 systemd[1]: Started MySQL Server.
[root@node-1 mysql]# 

6.9 配置MySQL环境变量

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile

6.10 设置开机自启动

chkconfig --add mysqld
chkconfig mysqld on

6.11 修改密码

# 登录数据库,使用6.4初始化时生成的临时密码登录MySQL
[root@node-1 mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.43-log

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
# 执行SQL修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_passwd';
Query OK, 0 rows affected (0.00 sec)

mysql> 

7 验证

# 使用修改后的密码登录并查看数据库版本
[root@node-1 mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.43-log MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select version();
+------------+
| version()  |
+------------+
| 5.7.43-log |
+------------+
1 row in set (0.00 sec)

mysql> 

# 可以正常登录并查看到数据库版本信息,安装正常

8 常见问题

8.1 忘记临时密码

# 当忘记初始化的临时密码时,请删除数据目录并重新初始化
rm -rf /data/mysql/data/*
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

9 总结

经过以上步骤,我们便成功的完成了MySQL 5.7.43的二进制安装和部署。

如果你在安装过程中遇到任何问题,欢迎在评论区留言,我会尽力为你解答!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT成长日记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值