1. Ubuntu环境下MySQL 8.0的安装方式选择在Ubuntu系统上部署MySQL 8.0主要有两种方式在线安装和离线安装。对于大多数有网络连接的环境在线安装是最简单快捷的选择只需要几条命令就能完成。而离线安装则适用于内网环境或网络受限的场景虽然步骤稍多但掌握后同样高效。我实际测试过Ubuntu 20.04/22.04和18.04三个版本发现不同LTS版本在依赖包上会有细微差别。比如Ubuntu 18.04需要额外处理libmecab2的版本问题而20.04之后的版本依赖关系更加清晰。下面我会详细对比这两种安装方式的完整流程。2. 在线安装MySQL 8.0全流程2.1 基础安装步骤在线安装MySQL 8.0的核心命令非常简单sudo apt update sudo apt install mysql-server -y这个命令会自动安装最新稳定版的MySQL 8.0包括服务端和基础客户端工具。安装过程中会提示设置root密码建议设置一个强密码并牢记。安装完成后可以通过以下命令验证服务状态sudo systemctl status mysql如果看到active (running)的提示说明MySQL服务已经正常启动。我遇到过几次安装后服务未自动启动的情况这时候需要手动执行sudo systemctl start mysql2.2 安全配置与常见问题首次安装后强烈建议运行MySQL的安全配置向导sudo mysql_secure_installation这个交互式脚本会引导你完成以下安全设置设置root密码强度验证插件移除匿名用户禁止root远程登录移除测试数据库重新加载权限表在Ubuntu 18.04上我遇到过安装后无法用root登录的问题。这是因为新版MySQL默认使用auth_socket插件认证。解决方法有两种-- 方法1改用密码认证 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密码; -- 方法2创建新管理用户 CREATE USER adminlocalhost IDENTIFIED BY 密码; GRANT ALL PRIVILEGES ON *.* TO adminlocalhost WITH GRANT OPTION;3. 离线安装MySQL 8.0实战指南3.1 准备工作与依赖解决离线安装需要提前下载好所有依赖包。MySQL官网提供了完整的deb包集合下载地址为https://dev.mysql.com/downloads/mysql/选择对应的Ubuntu版本后下载MySQL Server和MySQL Client的deb bundle包。我建议同时下载以下关键依赖包libaio1libmecab2libnuma1这些依赖包的版本要与Ubuntu发行版匹配。比如Ubuntu 20.04需要libaio1_0.3.112-5而18.04需要0.3.110-2版本。下载后建议按以下顺序安装依赖sudo dpkg -i libaio1*.deb sudo dpkg -i libmecab2*.deb sudo dpkg -i libnuma1*.deb3.2 分步安装MySQL组件解压下载的MySQL bundle包后会看到多个deb文件。安装顺序很重要我推荐按以下步骤执行# 基础组件 sudo dpkg -i mysql-common*.deb sudo dpkg -i mysql-community-client-core*.deb sudo dpkg -i mysql-community-client*.deb sudo dpkg -i mysql-client*.deb # 服务端组件 sudo dpkg -i mysql-community-server-core*.deb sudo dpkg -i mysql-community-server*.deb sudo dpkg -i mysql-server*.deb在Ubuntu 18.04上需要先安装一个额外的插件包sudo dpkg -i mysql-community-client-plugins*.deb安装过程中如果出现依赖错误可以用apt-get修复sudo apt-get install -f4. Navicat 16跨平台连接MySQL配置4.1 Linux版Navicat安装与配置Navicat 16提供了Linux原生支持下载AppImage格式的安装包后只需赋予执行权限chmod x navicat16-premium-en.AppImage ./navicat16-premium-en.AppImage创建新连接时需要注意几个关键点连接名任意有意义的名称主机本地连接用127.0.0.1而非localhost端口默认3306用户名root或你创建的其他用户密码安装时设置的密码我在Ubuntu 22.04上测试时发现如果直接双击AppImage可能无法启动。这时需要通过终端运行并可能需要安装以下依赖sudo apt install libfuse24.2 Windows连接Ubuntu的MySQL服务要让Windows上的Navicat访问Ubuntu的MySQL需要配置远程访问权限。安全做法是为Navicat创建专用用户CREATE USER navicat_user% IDENTIFIED BY 强密码; GRANT ALL PRIVILEGES ON *.* TO navicat_user% WITH GRANT OPTION; FLUSH PRIVILEGES;然后修改MySQL配置文件允许远程连接sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf找到bind-address行修改为bind-address 0.0.0.0重启MySQL服务使更改生效sudo systemctl restart mysql最后确保防火墙允许3306端口sudo ufw allow 3306/tcp5. 常见问题排查与优化5.1 连接问题排查Navicat连接失败时可以按以下步骤排查检查MySQL服务是否运行systemctl status mysql测试本地连接mysql -u root -p检查用户权限SELECT host, user FROM mysql.user;验证端口监听sudo netstat -tulnp | grep 33065.2 性能优化建议对于开发环境建议调整以下MySQL配置[mysqld] default_authentication_pluginmysql_native_password character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci max_connections100 innodb_buffer_pool_size1G修改配置后需要重启MySQLsudo systemctl restart mysql6. 系统版本差异处理不同Ubuntu版本在MySQL部署时有一些细微差别需要特别注意Ubuntu 18.04需要额外安装client-plugins包libmecab2版本较旧可能需要手动升级默认的OpenSSL版本可能导致某些加密方式不兼容Ubuntu 20.04/22.04依赖关系更清晰支持更新的认证插件默认使用systemd管理服务操作更规范对于混合环境建议统一使用MySQL 8.0的最新补丁版本可以减少兼容性问题。我在三个版本上都测试过MySQL 8.0.33整体稳定性表现良好。