CentOS7.9二进制方式安装mysql5.7
1、删除centos系统自带的mariadb数据库防止发生冲突
[root@centos7-85 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@centos7-85 ~]# rpm -e mariadb-libs --nodeps
2、安装libaio库
[root@centos7-85 ~]# yum -y install libaio
3、下载并解压mysql-5.7.25
[root@centos7-85 ~]#cd /opt
[root@centos7-85 opt]#wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
[root@centos7-85 opt]# tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
4、查看是否有mysql用户和mysql用户组
[root@centos7-85 opt]# cat /etc/passwd|grep mysql
[root@centos7-85 opt]# cat /etc/group|grep mysql #如果存在,则删除用户和用户组userdel -r mysql
5、创建mysql用户及其用户组
[root@centos7-85 opt]# groupadd mysql
[root@centos7-85 opt]# useradd -r -g mysql mysql
6、设置mysql用户为非登陆用户
[root@centos7-85 opt]# usermod -s /sbin/nologin mysql
7、创建basedir、datadir目录、pid文件
[root@centos7-85 opt]# mkdir /opt/mysql
[root@centos7-85 opt]# mkdir /opt/mysql/data
[root@centos7-85 opt]# mv mysql-5.7.35-linux-glibc2.12-x86_64/* /opt/mysql/
[root@centos7-85 opt]# touch /opt/mysql/mysqld.pid
[root@centos7-85 opt]# chown -R mysql:mysql /opt/mysql
8、创建日志
[root@centos7-85 opt]# touch /var/log/mysqld.log
[root@centos7-85 opt]# chown mysql:mysql /var/log/mysqld.log
9、创建socket文件
[root@centos7-85 opt]# touch /tmp/mysql.sock
[root@centos7-85 opt]# chown mysql:mysql /tmp/mysql.sock
10、创建配置文件vim /etc/my.cnf并加入如下内容
[mysqld]
character-set-server=utf8
user=mysql
port=3306
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/opt/mysql/mysqld.pid
[client]
port=3306
socket=/tmp/mysql.sock
11、安装初始化
[root@centos7-85 opt]# cd /opt/mysql/bin/
[root@centos7-85 bin]# ./mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data

没有设置初始密码
12、设置开机启动
复制启动脚本到资源目录:
[root@centos7-85 bin]# cp ../support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld控制脚本权限:
[root@centos7-85 bin]# chmod +x /etc/rc.d/init.d/mysqld
将mysqld加入到系统服务:
[root@centos7-85 bin]# chkconfig --add mysqld
[root@centos7-85 bin]# chkconfig --list mysqld
检查mysqld服务是否生效:
[root@centos7-85 bin]# chkconfig --list mysqld

命令输出类似如下:

现在即可使用service命令控制mysql启动、停止。
PS:删除启动命令:
chkconfig --del mysqld
13、启动mysqld服务
service mysqld start

14、环境变量配置
编辑/etc/profile,加入如下内容:
[root@centos7-85 bin]# export PATH=$PATH:/opt/mysql/bin
执行命令使其生效:
source /etc/profile
15、登录mysql
mysql -uroot
设置root密码:
mysql> alter user "root"@"localhost" identified by "新密码";
或者:
mysql> set password = password('mysql');
刷新权限:
mysql> flush privileges;
退出mysql,使用新密码登录mysql。
16、添加远程登录用户
默认只允许 root 帐户在本地登录mysql,如果要在其它机器上连接MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,可以添加一个新的帐户。
mysql> grant all privileges on *.* to "用户名"@"IP地址" identified by "密码" with grant option;
mysql> grant all privileges on *.* to yehailun@'%' identified by 'yehailun';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
17、开启防火墙mysql3306端口的外部访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
参数说明:
- --zone:作用域,网络区域定义了网络连接的可信等级。
- --add-port:添加端口与通信协议,格式:端口/通信协议,协议为tcp或udp。
- --permanent:永久生效,没有此参数系统重启后端口访问失败。
参考:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下