1. 离线部署前的准备工作在开始离线部署MySQL 8.0.26之前我们需要做好充分的准备工作。离线环境意味着所有依赖项都需要手动下载并传输到目标服务器这比在线安装要复杂得多。我曾在多个生产环境中部署过MySQL深知准备工作的重要性。首先我们需要准备以下内容一台可以访问互联网的临时机器用于下载安装包和依赖项稳定的文件传输工具如WinSCP或rsync目标服务器的SSH访问权限足够的磁盘空间建议至少预留2GB关键点在下载安装包时务必确认Ubuntu 20.04的系统架构通常是amd64以及MySQL 8.0.26的完整版本号。我曾经因为版本不匹配导致安装失败浪费了大量时间排查问题。2. 下载MySQL和依赖包2.1 获取MySQL安装包访问MySQL官方下载页面https://dev.mysql.com/downloads/mysql/选择Ubuntu Linux版本找到8.0.26版本对应的安装包。这里需要注意选择正确的bundle包mysql-server_8.0.26-1ubuntu20.04_amd64.deb-bundle.tar这个bundle包含了所有必要的组件避免了单独下载每个包的麻烦。我建议同时下载SHA256校验文件确保下载的完整性。2.2 收集系统依赖项MySQL 8.0.26在Ubuntu 20.04上需要以下关键依赖libaio1libmecab2可以通过以下命令在联网机器上查看依赖关系apt-cache depends mysql-server下载依赖包时我习惯使用Ubuntu官方仓库http://archive.ubuntu.com/ubuntu/pool/这样可以确保版本兼容性。曾经有一次使用了第三方源的依赖包导致系统不稳定教训深刻。3. 文件传输与系统准备3.1 安全传输文件将下载好的文件传输到目标服务器有多种方式使用WinSCP等GUI工具使用scp命令scp /local/path/to/file userserver:/remote/path我建议创建一个专用目录存放这些文件比如mkdir -p /opt/mysql-install3.2 系统环境检查在安装前检查系统是否已经存在MySQLdpkg -l | grep mysql如果发现有旧版本需要先卸载sudo apt purge mysql-* sudo rm -rf /etc/mysql /var/lib/mysql4. 安装MySQL 8.0.264.1 解压安装包进入存放安装包的目录执行sudo tar -xf mysql-server_8.0.26-1ubuntu20.04_amd64.deb-bundle.tar解压后会得到多个.deb文件我们需要按特定顺序安装它们。4.2 安装依赖和组件按照以下顺序安装各个组件sudo dpkg -i mysql-community-client-plugins_8.0.26-1ubuntu20.04_amd64.deb sudo dpkg -i mysql-community-client-core_8.0.26-1ubuntu20.04_amd64.deb sudo dpkg -i mysql-common_8.0.26-1ubuntu20.04_amd64.deb # ...继续安装其他组件经验分享安装过程中如果遇到依赖错误可以使用以下命令修复sudo apt-get install -f4.3 关键配置步骤安装mysql-community-server时会提示设置root密码和认证插件。我建议设置强密码至少12位包含大小写字母、数字和特殊字符认证插件选择Use Legacy Authentication Method兼容性更好5. 配置远程访问5.1 修改用户权限登录MySQL后执行UPDATE mysql.user SET host% WHERE userroot; FLUSH PRIVILEGES;5.2 调整配置文件编辑MySQL配置文件sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf找到bind-address行并注释掉# bind-address 127.0.0.1然后重启MySQL服务sudo systemctl restart mysql6. 常见问题解决6.1 连接失败排查如果远程连接失败检查防火墙设置Ubuntu默认使用ufwsudo ufw allow 3306MySQL错误日志sudo tail -f /var/log/mysql/error.log6.2 性能调优建议对于生产环境我通常会调整以下参数innodb_buffer_pool_size 1G innodb_log_file_size 256M max_connections 200这些值需要根据服务器实际内存大小进行调整。在我的实践中合理的参数配置可以让性能提升30%以上。7. 验证与测试安装完成后建议进行以下测试本地连接测试mysql -u root -p远程连接测试从另一台机器mysql -h server_ip -u root -p基本功能测试创建数据库、表插入和查询数据等。我习惯编写一个简单的测试脚本自动化执行这些验证步骤确保所有功能正常。