很多同学在 Ubuntu 24.04 上装 MySQL,sudo apt install mysql-server 一条命令很顺,接下来就懵了:
❌ sudo mysql 能进,输密码反而进不去 —— 报 ERROR 1698
❌ 本机没问题,远程工具一连就 ERROR 2003
❌ 密码明明对,还是 ERROR 1045 Access denied
原因不神秘:Ubuntu 的 APT 安装默认给 root 用了 auth_socket 认证,且 MySQL 只监听 127.0.0.1,用户授权的 host 也只写了 localhost。三件事对应三个报错,逐个改掉就通了。
这篇教程把完整链路写清楚了:
✅ APT 安装 + systemd 服务托管与开机自启
✅ ALTER USER 把 root 从 auth_socket 改为密码认证(caching_sha2_password)
✅ bind-address 改 0.0.0.0,配合防火墙按网段放行 3306
✅ 创建 utf8mb4 字符集数据库,避免中文和 emoji 踩坑
✅ 建 appuser@'%' 专用账号授权,不用 root 跑业务
✅ mysqldump 备份恢复、错误日志位置等日常运维命令
还附了老客户端连 8.0 报认证插件错误的处理思路,面试也常问这个点。
📖 全文地址: Ubuntu 24.04 上装 MySQL
这是 Ubuntu 24.04 服务器搭建 系列第 6 篇。前面已写完系统初始化、JDK 17、Nginx 与 Redis,下一篇讲 MinIO 对象存储。
#MySQL #Ubuntu #数据库 #后端开发 #运维
本文详解在 Ubuntu 24.04 上通过 APT 安装 MySQL 8.0 的完整流程,涵盖 systemd 服务管理、root 用户认证方式切换(从 auth_socket 到 caching_sha2_password)、绑定地址修改为 0.0.0.0、防火墙开放 3306 端口、utf8mb4 字符集建库、专用账号授权、mysqldump 备份恢复及错误日志定位等核心运维操作,解决 ERROR 1698/2003/1045 等常见连接问题。

160

被折叠的 条评论
为什么被折叠?



