Linux安装MySQL8高版本压缩包(通用)
-
前言
前段时间领导让我部署测试环境,希望安装高版本的MySQL,过程遇到很多问题,特此记录帮助迷失的人们
-
下载
MySQL官方下载地址:https://dev.mysql.com/downloads/mysql/
如图所示,点击DOWNLOAD下载即可
-
安装
将下载好的压缩包上传到Linux服务器 /usr/local目录下
.gz解压:
tar -zxvf mysql-XXX.tar.gz
.xz解压:
unzip mysql-XXX.tar.xz
重命名(最好这样做,因为mysql官网默认安装路径:/usr/local/mysql):
mv mysq-XXX mysql
创建数据存储文件夹:
mkdir /usr/local/mysql/data
创建用户及用户组:
# 用户组 groupadd mysql # 用户 (用户名/密码) useradd -g mysql mysql # 授权 chown -R mysql.mysql /usr/local/mysql/
* 编辑 /etc/my.cnf 文件(最重要的一步来了,mysql8通用配置,没有该文件则新建):
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password user=mysql lower_case_table_names=1 default-time-zone='+8:00' sql_mode=NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4
初始化数据库:
mysqld --initialize --console
# 网上有好多在初始化数据库的时候设置好多参数,我这里说明下,因为我们在 /etc/my.cnf 文件里编辑了我们所需的所有配置,MySQL初始化时首先默认读取 my.cnf 文件
# 所以我们直接执行初始化命令就好,当然也可以不配置 my.cnf 文件且初始化的时候设置参数即可,但是初始化命令不可逆转,如果后面启动服务失败只能卸载重新安装
建立MySQL服务:
ln -s /usr/local/mysql/bin/mysql /usr/bin
将MySQL服务加入自启动:
cp -a ./support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql # 加入自启动 chkconfig --add mysql # 检查服务是否生效 chkconfig --list mysql
启动mysql服务:
# 启动
service mysql start
# 查看启动状态
service mysql status
以安全模式登录MySQL:
# 安全模式登录 ./bin/mysqld_safe --skip-grant-tables # 打开新窗口登录mysql ./usr/local/mysql/bin/mysql -u root
修改root密码:
use mysql; update user set host='%' where user='root'; update mysql.user set Password=password('root') where User='root'; grant all privileges on *.* to root@"%" identified by 'root'; flush privileges;
查看进程号并杀死MySQL安全服务:
ps -ef|grep mysql kill -9 进程号
导入sql文件
mysql -uroot -D数据库名 < XXX.sql
至此,mysql安装完毕,我们就可以愉快的玩耍了
-
卸载
若过程出现操作不当,需要卸载MySQL也很简单,因为我们并没有使用 yum 或 rpm 命令等等,所以只有两步
关闭MySQL服务:
service mysql stop
删除MySQL文件:
rm -rf $(find / -name mysql)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!