当前位置: 首页 > news >正文

MySQL 8.0.35 二进制包安装笔记

MySQL 8.0.35 二进制包安装笔记 — 192.168.195.141

环境信息

项目
主机IP192.168.195.141
操作系统Kylin Linux Advanced Server V10 (Halberd)
内核4.19.90-89.11.v2401.ky10.x86_64
glibc2.28
内存2.8G
MySQL版本8.0.35(二进制包,glibc2.17)

1. 确认操作系统支持

MySQL 8.0 支持 Oracle Linux / Red Hat / CentOS / Rocky Linux 等 x86_64 架构,glibc2.17 及以上版本。

# 查看glibc版本$ ldd--version|head-1ldd(GNU libc)2.28

2. 确认MySQL版本

选择MySQL版本的原则:

  1. 选择 GA 版本。
  2. 选择20之后的小版本。
  3. 新业务可以直接上MySQL 8.0了。

3. 创建用户

# groupadd mysql# useradd -g mysql mysql# 验证$idmysql 用户id=1002(mysql)组id=1000(mysql)=1000(mysql)

4. 解压二进制包

# cd /usr/local/# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz# tar xvf mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz# ln -s mysql-8.0.35-linux-glibc2.17-x86_64 mysql# 验证$ls-la/usr/local/mysql lrwxrwxrwx1root root3571822:02 /usr/local/mysql ->mysql-8.0.35-linux-glibc2.17-x86_64 $ /usr/local/mysql/bin/mysql--version/usr/local/mysql/bin/mysql Ver8.0.35forLinux on x86_64(MySQL Community Server - GPL)

5. 编辑配置文件

# vim /etc/my.cnf

配置文件内容如下(最小化配置):

[client] socket = /data/mysql/3306/data/mysql.sock [mysqld] basedir = /usr/local/mysql datadir = /data/mysql/3306/data user = mysql port = 3306 socket = /data/mysql/3306/data/mysql.sock log_error = /data/mysql/3306/data/mysqld.err log_timestamps = system log-bin = mysql-bin server-id = 1

6. 创建数据目录

# mkdir -p /data/mysql/3306/data# chown mysql.mysql /data/mysql/3306/data/# 验证$ls-la/data/mysql/3306/ 总用量0drwxr-xr-x3root root1871822:03.drwxr-xr-x3root root1871822:03..drwxr-xr-x2mysql mysql671822:03 data

7. 初始化实例

# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize

如果没有错误输出,就意味着实例初始化成功。错误日志输出:

2026-07-18T22:03:27.228710+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2026-07-18T22:03:27.379765+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2026-07-18T22:03:28.161397+08:00 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: .Fit6lgH2*oP

8. 配置systemd服务

# vim /etc/systemd/system/mysqld.service
[Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql Type=forking PIDFile=/data/mysql/3306/data/mysqld.pid # Disable service start and stop timeout logic of systemd for mysqld service. TimeoutSec=0 # Start main service ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --pid-file=/data/mysql/3306/data/mysqld.pid --daemonize $MYSQLD_OPTS # Use this to switch malloc implementation EnvironmentFile=-/etc/sysconfig/mysql # Sets open_files_limit LimitNOFILE = 65535 Restart=on-failure RestartPreventExitStatus=1 PrivateTmp=false

创建环境变量文件:

# vim /etc/sysconfig/mysql
MYSQLD_OPTS=

9. 启动实例

# systemctl daemon-reload# systemctl start mysqld# 查看状态$ systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded(/etc/systemd/system/mysqld.service;disabled;vendor preset: disabled)Active: active(running)since Sat2026-07-1822:05:14 CST;5ms ago Docs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html Process:75078ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --pid-file=/data/mysql/3306/data/mysqld.pid--daemonize$MYSQLD_OPTS(code=exited,status=0/SUCCESS)Main PID:75080(mysqld)Tasks:38Memory:365.8M CGroup: /system.slice/mysqld.service └─75080 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --pid-file=/data/mysql/3306/data/mysqld.pid--daemonize

错误日志确认启动成功:

2026-07-18T22:05:14.507876+08:00 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: '8.0.35' socket: '/data/mysql/3306/data/mysql.sock' port: 3306 MySQL Community Server - GPL.

10. 登录实例

# grep password /data/mysql/3306/data/mysqld.err2026-07-18T22:03:28.161397+08:006[Note][MY-010454][Server]A temporary password is generatedforroot@localhost: .Fit6lgH2*oP# /usr/local/mysql/bin/mysql -uroot -S /data/mysql/3306/data/mysql.sock -pEnter password:

11. 修改密码

mysql>alteruseruser()identifiedby'Root@123456';

12. 设置开机自启动

# systemctl enable mysqldCreated symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /etc/systemd/system/mysqld.service.# 验证$ systemctl is-enabled mysqld enabled

13. systemd服务管理命令

# systemctl daemon-reload# systemctl start mysqld# systemctl stop mysqld# systemctl status mysqld# systemctl enable mysqld

如何判断实例是否启动成功

  1. 查看错误日志。
  2. 查看mysqld进程是否启动。

如何定位实例启动失败的原因

  1. 查看错误日志。
  2. 通过mysqld启动。
# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &
  1. 只指定几个必要的参数启动。
# /usr/local/mysql/bin/mysqld --no-defaults --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data/ --user=mysql

如果还是不行,可通过strace查看MySQL启动过程中的系统调用情况。

http://www.cnnetsun.cn/news/3501172.html

相关文章:

  • javascript练习
  • Android项目文件结构与模块化架构详解
  • AM62L硬件安全实战:CBASS防火墙与DTHE加密引擎寄存器配置详解
  • C++编译器优化选项全解析:从-O0到-O3的性能提升实战指南
  • 知网查重加AIGC双检测怎么过?同时降重降AI到红线内
  • 5分钟完全掌握:免费开源QMC音频解密工具终极使用指南
  • 在liunx系统上部署一个springboot的微服务项目
  • JMeter接口测试断言全解析:从基础响应到JSON与自定义断言实战
  • 2023嵌入式助理工程师认证考试全攻略
  • 中翱集团唯一运营平台中翱数创(宿迁)科技深耕同城数字化服务
  • Hot 100 --- 从前序与中序遍历序列构造二叉树
  • 敏捷开发Beta冲刺关键阶段实战指南
  • 模拟面试核心要素与实施全流程解析
  • 程序员技术面试英语实战指南与提升策略
  • 终极指南:3步在Windows 11上实现经典游戏局域网联机
  • 2026年电销外包服务商怎么选?合规要求与选型标准解析
  • 编译器前端设计与实现:基于LLVM的C语言子集编译器完整开发
  • 热词追踪技巧与工具全解析:从捕捉到预判网络热点
  • Go微服务开发
  • 搜维尔科技:Manus Haptic触觉手套,核心应用方向
  • MPSoC逻辑加速模块数据通道设计与优化实践
  • Python时间与操作系统模块实战指南
  • Google 提示词零基础教学:从“会提问”到“让 AI 真正解决问题
  • 零基础入门 DeepSeek 大模型 API 开发全指南:max_tokens 停止序列 temperature 系统提示四大核心参数详解、调优实战与两种 Prompt 写法效果对比教程
  • 算法-并查集
  • AI音乐成品优化工具怎么选:从AI混音到AI母带,把demo修到更接近发布状态
  • VC++ MFC文件对话框开发指南:CFileDialog高级用法与实战技巧
  • 招聘评估体系设计:从工具选择到效度优化
  • 高效企业级微信自动化解决方案:wxauto技术实现与架构分析
  • AM62L TRNG寄存器深度解析:从熵源配置到驱动开发的嵌入式安全实践