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_64glibc2.28内存2.8GMySQL版本8.0.35二进制包glibc2.171. 确认操作系统支持MySQL 8.0 支持 Oracle Linux / Red Hat / CentOS / Rocky Linux 等 x86_64 架构glibc2.17 及以上版本。# 查看glibc版本$ ldd--version|head-1ldd(GNU libc)2.282. 确认MySQL版本选择MySQL版本的原则选择 GA 版本。选择20之后的小版本。新业务可以直接上MySQL 8.0了。3. 创建用户# groupadd mysql# useradd -g mysql mysql# 验证$idmysql 用户id1002(mysql)组id1000(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 root357月1822: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 16. 创建数据目录# mkdir -p /data/mysql/3306/data# chown mysql.mysql /data/mysql/3306/data/# 验证$ls-la/data/mysql/3306/ 总用量0drwxr-xr-x3root root187月1822:03.drwxr-xr-x3root root187月1822:03..drwxr-xr-x2mysql mysql67月1822:03 data7. 初始化实例# /usr/local/mysql/bin/mysqld --defaults-file/etc/my.cnf --initialize如果没有错误输出就意味着实例初始化成功。错误日志输出2026-07-18T22:03:27.22871008:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2026-07-18T22:03:27.37976508:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2026-07-18T22:03:28.16139708:00 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: .Fit6lgH2*oP8. 配置systemd服务# vim /etc/systemd/system/mysqld.service[Unit] DescriptionMySQL Server Documentationman:mysqld(8) Documentationhttp://dev.mysql.com/doc/refman/en/using-systemd.html Afternetwork.target Aftersyslog.target [Install] WantedBymulti-user.target [Service] Usermysql Groupmysql Typeforking PIDFile/data/mysql/3306/data/mysqld.pid # Disable service start and stop timeout logic of systemd for mysqld service. TimeoutSec0 # 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 Restarton-failure RestartPreventExitStatus1 PrivateTmpfalse创建环境变量文件# vim /etc/sysconfig/mysqlMYSQLD_OPTS9. 启动实例# 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(codeexited,status0/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.50787608: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.16139708:006[Note][MY-010454][Server]A temporary password is generatedforrootlocalhost: .Fit6lgH2*oP# /usr/local/mysql/bin/mysql -uroot -S /data/mysql/3306/data/mysql.sock -pEnter password:11. 修改密码mysqlalteruseruser()identifiedbyRoot123456;12. 设置开机自启动# systemctl enable mysqldCreated symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /etc/systemd/system/mysqld.service.# 验证$ systemctl is-enabled mysqld enabled13. systemd服务管理命令# systemctl daemon-reload# systemctl start mysqld# systemctl stop mysqld# systemctl status mysqld# systemctl enable mysqld如何判断实例是否启动成功查看错误日志。查看mysqld进程是否启动。如何定位实例启动失败的原因查看错误日志。通过mysqld启动。# /usr/local/mysql/bin/mysqld --defaults-file/etc/my.cnf 只指定几个必要的参数启动。# /usr/local/mysql/bin/mysqld --no-defaults --basedir/usr/local/mysql --datadir/data/mysql/3306/data/ --usermysql如果还是不行可通过strace查看MySQL启动过程中的系统调用情况。