在 Debian 官方源中,常见的包名是 mariadb-server 或 default-mysql-server(实际安装 MariaDB)。若执行 apt 安装提示:E: Package ‘mysql-server’ has no installation candidate,这是正常现象,改用上述包名即可。安装完成后执行 sudo mysql_secure_installation 完成初始化加固(设置 root 密码、删除匿名用户、禁止 root 远程登录、删除 test 库等)。若本机以 sudo mysql 可直接进入,说明 root 使用了 unix_socket 认证;如需密码登录,可后续改为密码认证方式。
二 登录失败与 root 认证
典型报错 ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’ 或空密码无法登录,多因 root 采用 unix_socket 插件认证。排查与处理:
本机管理可继续用 sudo mysql 进入;
需要密码登录时,先以 sudo 进入 MariaDB,查看认证插件:
SELECT user, host, plugin FROM mysql.user WHERE user=‘root’;
将 root 改为密码认证并设密:
ALTER USER ‘root’@‘localhost’ IDENTIFIED VIA mysql_native_password USING PASSWORD(‘你的强密码’);
FLUSH PRIVILEGES;
之后即可用 mysql -u root -p 登录。为安全起见,生产环境建议创建业务管理员用户并限制 host(如仅 localhost 或内网网段)。
三 服务无法启动与系统一致性问题
报错 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) 或 systemd 状态显示 ExecStartPost=/etc/mysql/debian-start (code=exited, status=2),多与安装不完整或文件缺失有关。处理思路:
先查看服务状态与系统日志:
systemctl status mariadb;journalctl -xe 或 tail -f /var/log/syslog