Linux安装MySQL5.7教程!非docker方式
1、前言
截止到2025年4月20日,MySQL最新版本是9.2.0,我没有特别去研究它。新版本总有一些新的特性,感兴趣的同学可以去官网了解一下。不同版本会影响一些语句的执行,比如5.7.x和8.x版本区别就比较大,有些操作命令是没有向下兼容的。
但本文重点讲的是安装教程,就不细说了。
前几天,我在搭建Kafka-eagle监控平台时,原本使用自己本机安装的MySQL8.0.x,发现登录一直失败,查看日志是MySQL建表语句异常,后来把使用MySQL5.7.x才成功。
在网上找了几个版本教程参考,发现docker安装其实是挺麻烦的,要配置镜像源等好麻烦。还是使用glibc方式配置安装简单。
参考博客:https://blog.csdn.net/weixin_42402597/article/details/143906773
2、环境说明&版本选择
2.1、环境说明&版本选择
运行环境linux , centos 7.x ,内存2G 4核
虚拟机克隆,可参考《配置可复用的虚拟机,不难!》
我的虚拟机目录说明
所有自定义安装目录:/opt/apps
服务安装目录:/opt/apps/server
安装包放置目录:/opt/apps/soft
MySQL官方下载地址:https://downloads.mysql.com/archives/community/
≠≠≠
根据需要选择系统、版本号,会筛选出目标安装包,选择目标下载即可。
2.2、安装包上传并解压
把下载好的安装包上传到服务器,并解压。
上传工具可使用Xftp,客户端连接工具可使用Xshell,安装包在文末获取,官方个人免费许可,仅需邮箱注册即可。
如果需要空白centos 7虚拟机,里面已经配置好jdk17和一些常用命令,在文末获取。
# 切换安装包放置目录
cd /opt/apps/soft
# 解压
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /opt/apps/server/
# 切换到服务安装目录
cd /opt/apps/server/
# 重命名,方便识别
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql57
2.3、创建MySQL用户组和用户
# 创建MySQL用户组
groupadd mysql
# 添加MySQL用户并添加到MySQL用户组
useradd -r -g mysql mysql
2.4、创建数据目录并赋予权限
# 进入安装包目录
cd /opt/apps/server/mysql57
# 创建数据存储目录data
mkdir data
# 给data目录赋予权限
chown mysql:mysql -R data/
2.5、配置my.cnf
打开或编辑my.cnf文件,添加配置内容,保存退出。
# 打开或编辑my.cnf文件
vim /etc/my.cnf
# 添加内容后,保存退出 【:wq!】
配置文件内容如下:
【注意:basedir和datadir修改为自己服务器的地址】
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录★★
basedir=/opt/apps/server/mysql57
# 设置mysql数据库的数据的存放目录
datadir=/opt/apps/server/mysql57/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
2.6、初始化MySQL
执行命令在/bin
目录下,需注意参数:
–defaults-file:my.cnf位置
–datadir:my.cnf文件的值
–basedir:my.cnf文件的值
–user:给data目录权限的用户【mysql】
# 切换到bin目录下
cd /opt/apps/server/mysql57/bin/
# 初始化MySQL命令
./mysqld --defaults-file=/etc/my.cnf --basedir=/opt/apps/server/mysql57 --datadir=/opt/apps/server/mysql57/data --user=mysql --initialize
初始化成功后,会给出初始化密码。
一定先要复制出来,用于下面步骤修改密码。
2.7、启动MySQL服务及相关操作
如果安装目录basedir
不是默认的/usr/local/mysql
,那么需要修改下启动脚本mysql.server
的两个参数值。
这两个参数值,默认是空的。
datadir:my.cnf文件的值
basedir:my.cnf文件的值
启动MySQL服务
# 切换到脚本支持目录
cd ../support-files/
# 启动命令
./mysql.server start
登录MySQL
MySQL初始化时,默认生成的是一串随机密码,不好记住。因此,我们需要登录数据库,修改为自己设置的值。
# 切换到bin目录
cd ../bin
# 登录命令
./mysql -u root -p
# 界面提示输入密码,此时把初始密码放进去,连接成功
修改登录密码
# 设置密码
SET PASSWORD = PASSWORD('123456');
# 设置用户的访问密码用不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
# 刷新权限
FLUSH PRIVILEGES;
修改支持远程登录
MySQL安装完成,默认不支持远程登录。需要在mysql
库修改一下才可以。
# 访问mysql库
use mysql
# 修改root用户能在任何host访问
update user set host = '%' where user = 'root';
# 刷新权限
FLUSH PRIVILEGES;
2.8、设置开机启动
第一步:添加软连接指向mysql
【注意:/opt/apps/server/mysql57
是MySQL安装目录】
# 添加软连接指向服务启动脚本文件
ln -s /opt/apps/server/mysql57/support-files/mysql.server /etc/init.d/mysql
# 添加软连接指向数据库服务命令
ln -s /opt/apps/server/mysql57/bin/mysql /usr/bin/mysql
# 数据库重启
service mysql restart
第二步:赋予可执行权限
chmod +x /etc/init.d/mysql
第三步:添加服务
chkconfig --add mysql
第四步:查看确认
# 显示服务列表
chkconfig --list
还可通过,服务器重启,通过工具连接的方式来验证。
3、我的公众号&资料获取
敬请关注我的公众号:大象只为你,持续更新技术知识…
相关资料获取:
如需centos7空白虚拟机,请后台回复:blankOS。
blankOS登录账号密码:root / 123456
如需客户端连接工具Xshell,请后台回复:Xshell。
如需上传工具Xftp,请后台回复:Xftp。