结论:用官方APT/YUM仓库安装最快最稳,二进制包适合自定义路径或离线环境;跳过tar包手动初始化可省80%报错时间。

直接说结论:用官方 APT/YUM 仓库安装最快、最稳,二进制包安装适合需要自定义路径或离线环境的场景;跳过 tar 包手动初始化和 service 脚本折腾,能省掉 80% 的报错时间。
用 apt 安装 MySQL 8.0(Ubuntu/Debian)
这是最省心的方式,系统自动处理依赖、服务注册、日志路径和默认配置。
- 先清理旧版本(尤其注意 mariadb):
sudo apt purge mysql-server mysql-client mysql-common mariadb-* && sudo rm -rf /etc/mysql /var/lib/mysql - 加官方源(别用系统自带的旧包):
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb && sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb→ 交互界面里选MySQL Server & Cluster和mysql-8.0,再选Ok - 更新并安装:
sudo apt update && sudo apt install mysql-server - 安装过程会弹出图形化密码设置界面——这里输的密码就是
root@localhost的初始密码,记牢;认证方式默认是caching_sha2_password,老客户端连不上时再改
用 yum 安装 MySQL 8.0(CentOS/RHEL)
和 apt 类似,但源配置命令不同,且需注意系统版本对应关系(el7/el8/el9)。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 下载对应 YUM 源:
sudo yum install -y wget && wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm(el8 系统;el7 改成el7-3) - 安装源包:
sudo rpm -Uvh mysql80-community-release-el8-3.noarch.rpm - 确认启用的是 8.0 版本:
sudo yum repolist enabled | grep mysql→ 应看到mysql80-community - 安装服务:
sudo yum install -y mysql-community-server - 启动并设开机自启:
sudo systemctl start mysqld && sudo systemctl enable mysqld - 查临时密码:
sudo grep 'temporary password' /var/log/mysqld.log→ 这个密码只在首次启动时生成一次,后续登录必须立刻改密
为什么别一上来就解压 tar.xz 包?
二进制包(如 mysql-8.0.37-linux-glibc2.17-x86_64.tar.xz)看着“原生”,实则埋坑最多:路径硬编码、mysqld 初始化参数易错、mysql.server 脚本要手动改 basedir/datadir、systemd 单元文件得自己写,稍有不慎就卡在 Failed to start mysqld.service。
- 常见卡点:
./mysqld --initialize报Can't open the mysql.plugin table→ 通常是因为datadir权限不对或没清空残留文件 -
/etc/init.d/mysql启动失败 → 大概率是mysql.server里写的basedir和你实际路径不一致,且脚本不兼容 systemd - 想用
systemctl start mysql?得自己写/usr/lib/systemd/system/mysqld.service,漏了ProtectHome=true或PrivateTmp=true就可能权限拒绝
装完第一件事:改 root 密码 + 改认证插件(如果需要)
无论哪种安装方式,初始 root 密码都不可长期使用,且默认认证方式对某些旧 JDBC 驱动、PHP mysqli 扩展不友好。
- 登录:
mysql -uroot -p,输入安装时设的密码或日志里找的临时密码 - 立刻改密:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPass123!'; - 如果连不上老应用,再切回兼容模式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPass123!'; FLUSH PRIVILEGES; - 远程访问要额外开:
CREATE USER 'root'@'%' IDENTIFIED BY 'YourStrongPass123!'; GRANT ALL ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;,再确认bind-address在/etc/mysql/mysql.conf.d/mysqld.cnf里不是127.0.0.1
真正麻烦的从来不是“装上”,而是装完发现连不上、字符集乱码、远程被拒、服务起不来——这些全在初始化和首配阶段决定。仓库安装把大部分校验和兜底逻辑封装好了,比手动拼参数靠谱得多。

















