下 MySQL 服务器安装与配置完整教程)
目录前言一、安装前的环境检查1.1 查看系统版本1.2 检查是否已安装 MySQL二、添加 MySQL 官方 APT 源2.1 下载官方源配置包2.2 安装源配置包2.3 更新软件包列表三、安装 MySQL 服务器3.1 执行安装命令3.2 安装过程中的配置四、验证安装结果4.1 检查服务状态4.2 检查端口监听4.3 设置开机自启动五、登录 MySQL5.1 使用 root 用户登录5.2 常用基础命令六、MySQL 基础配置优化6.1 常用配置项6.2 重启服务使配置生效6.3 免密码登录仅本地调试用生产环境禁用七、彻底卸载 MySQL7.1 卸载软件包7.2 删除残留数据和配置7.3 重新安装可选八、常见问题与踩坑记录Q1安装时提示 Unable to locate package mysql-serverQ2远程连接失败提示 Host xxx is not allowed to connectQ3忘记 root 密码怎么办总结前言MySQL 作为最流行的开源关系型数据库之一在后端开发、运维工作中几乎是必备技能。本文将以Ubuntu系统为例从零开始带你完成 MySQL 的安装、配置、登录验证以及卸载全流程每一步都附带详细命令和说明新手也能轻松上手。适用系统Ubuntu 18.04 / 20.04 / 22.04 及以上版本MySQL版本8.0官方源安装一、安装前的环境检查在安装之前先确认系统环境避免与已有 MySQL 版本冲突。1.1 查看系统版本lsb_release -a1.2 检查是否已安装 MySQL# 检查是否有 MySQL 进程在运行 ps -ef | grep mysql # 检查是否已安装 MySQL 相关包 dpkg -l | grep mysql如果已有旧版本建议先卸载干净再重新安装卸载方法见文末第六节。二、添加 MySQL 官方 APT 源Ubuntu 默认源中的 MySQL 版本可能不是最新的推荐使用官方源安装。2.1 下载官方源配置包访问 MySQL 官方 APT 存储库页面 下载对应版本的.deb包或直接使用命令下载# 截止发文最新版 wget https://dev.mysql.com/get/mysql-apt-config_0.8.39-1_all.deb注意版本号可能会更新请到官网确认最新版本号。2.2 安装源配置包sudo dpkg -i mysql-apt-config_0.8.39-1_all.deb执行后会弹出图形化配置界面图像化配置页面MySQL Server Cluster选择要安装的 MySQL 版本默认即可MySQL Connectors保持默认最后选择OK确认2.3 更新软件包列表sudo apt update sudo apt-get update三、安装 MySQL 服务器3.1 执行安装命令sudo apt-get install mysql-server -y3.2 安装过程中的配置安装过程中会依次弹出以下配置项设置 root 用户密码输入你想设置的 root 密码例如123456生产环境请设置强密码确认密码再次输入相同密码确认管理员登录密码界面四、验证安装结果4.1 检查服务状态systemctl status mysql看到active (running)说明安装成功、服务已启动。服务状态界面4.2 检查端口监听MySQL 默认监听3306端口ss -nltp | grep 33064.3 设置开机自启动# 开启开机自启 sudo systemctl enable mysql # 验证自启状态 systemctl list-unit-files | grep mysql看到mysql.service enabled即为设置成功。一般默认开机自启4.1 检查服务状态有两个 enabled 就是默认开启开机自启了。五、登录 MySQL5.1 使用 root 用户登录mysql -uroot -p回车后输入安装时设置的密码即可进入 MySQL 命令行界面。5.2 常用基础命令进入 MySQL 后可以执行以下命令验证-- 查看所有数据库 show databases; -- 查看当前 MySQL 版本 select version(); -- 查看帮助 \h -- 退出 MySQL exit;六、MySQL 基础配置优化MySQL 的主配置文件位于/etc/mysql/mysql.conf.d/mysqld.cnfsudo vim /etc/mysql/mysql.conf.d/mysqld.cnf6.1 常用配置项在[mysqld]段落下添加或修改以下配置# 监听端口默认3306 port 3306 # 设置默认字符集为 UTF-8防止中文乱码 character-set-server utf8mb4 collation-server utf8mb4_unicode_ci # 默认存储引擎InnoDB 支持事务和外键 default-storage-engine INNODB # 最大连接数根据服务器性能调整 max_connections 200 # 允许远程访问如不需要远程连接可注释掉 # bind-address 0.0.0.0注意utf8mb4是 MySQL 8.0 推荐的字符集支持完整的 Unicode 包括 emoji 表情比传统的utf8更完善。6.2 重启服务使配置生效sudo systemctl restart mysql6.3 免密码登录仅本地调试用生产环境禁用如果忘记 root 密码或本地调试需要跳过验证可以在配置文件中添加skip-grant-tables保存后重启 MySQL登录时直接按回车即可跳过密码验证。重要提醒开启skip-grant-tables后任何人都能无密码登录数据库生产环境绝对禁止使用调试完毕后务必删除该配置并重启服务。七、彻底卸载 MySQL如需重装或清理环境按以下步骤操作7.1 卸载软件包sudo apt-get remove --purge mysql-server mysql-client mysql-common -y sudo apt-get autoremove -y sudo apt-get autoclean7.2 删除残留数据和配置sudo rm -rf /etc/mysql sudo rm -rf /var/lib/mysql sudo rm -rf /var/log/mysql7.3 重新安装可选如果只是想换版本重装卸载后重新执行第二、三节的安装步骤即可。如需更换 MySQL 版本也可以重新配置源sudo dpkg-reconfigure mysql-apt-config八、常见问题与踩坑记录Q1安装时提示Unable to locate package mysql-server原因没有添加官方源或源未更新。解决重新执行sudo apt-get update确认官方源配置包安装成功。Q2远程连接失败提示Host xxx is not allowed to connect原因root 用户默认只允许本地登录。解决登录 MySQL 后执行授权命令CREATE USER root% IDENTIFIED BY 你的密码; GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION; FLUSH PRIVILEGES;同时确认配置文件中bind-address已改为0.0.0.0且服务器防火墙开放了 3306 端口。Q3忘记 root 密码怎么办参考第六节的skip-grant-tables方法免密登录后重置密码FLUSH PRIVILEGES; ALTER USER rootlocalhost IDENTIFIED BY 新密码; FLUSH PRIVILEGES;改完记得删除配置文件中的skip-grant-tables并重启服务。总结以上就是 Ubuntu 环境下 MySQL 从安装、配置到卸载的完整流程。整体步骤可以归纳为环境检查→ 确认系统版本、无旧版本冲突添加官方源→ 保证安装的是最新稳定版执行安装→ 设置 root 密码和加密方式验证服务→ 检查运行状态、端口、开机自启配置优化→ 字符集、连接数、远程访问等问题排查→ 常见报错的解决方案如果本文对你有帮助欢迎点赞收藏有任何问题欢迎在评论区交流