全新Debian12系统MariaDB创建用户遇ERROR 1396问题求助
解决MariaDB创建用户时ERROR 1396的问题
1. 检查目标用户是否已存在
即使你从未手动创建过该用户,系统安装过程中可能残留用户记录,或者之前未彻底清理的安装痕迹导致用户存在。执行以下SQL查询确认:
SELECT user, host FROM mysql.user WHERE user = 'testuser' AND host = 'localhost';
如果查询返回结果,说明该用户确实存在,执行删除命令后重新创建:
DROP USER IF EXISTS 'testuser'@'localhost'; CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'testpass';
2. 尝试指定认证插件
部分MariaDB版本默认认证插件可能导致创建用户失败,尝试显式指定mysql_native_password插件:
CREATE USER 'testuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'testpass';
3. 确认当前登录用户权限
确保你是使用拥有CREATE USER权限的用户(如root)登录MariaDB,执行以下命令验证权限:
SHOW GRANTS FOR CURRENT_USER;
如果没有CREATE USER权限,切换到root用户后再执行创建操作。
4. 清理系统安装残留(谨慎操作)
如果上述方法都无效,可能是之前的MariaDB/MySQL安装数据未彻底清除:
- 停止MariaDB服务:
sudo systemctl stop mariadb - 移除数据目录(此操作会删除所有数据库数据,确认无重要数据再执行):
sudo rm -rf /var/lib/mysql - 重新初始化MariaDB:
sudo mariadb-install-db --user=mysql --datadir=/var/lib/mysql - 启动服务并重新配置:
sudo systemctl start mariadb sudo mysql_secure_installation
内容的提问来源于stack exchange,提问作者Phunction
相关产品推荐
相关产品推荐

