我已经在Ubuntu Lts 16.04上安装了Mariadb。然后我已经运行
/usr/bin/mysql_secure_installation
并设置一个root密码。通过mysql -u root -p
访问数据库效果很好。但是,使用service mysql status
检查状态会打开一个警告的日志文件:
[Warning] 'user' entry 'root@localhost' has both a password and an authentication plugin specified. The password will be ignored.
问题是:
- 这是担心的还是完全正常的?
- 如果这是一个担心,我该如何修复?
这是正常的,如果说"通过 mysql -u root -p
访问数据库的工作正常" 您的意思是您在成为系统root时正在运行它(或在sudo
下(。您应该无法作为普通用户做到这一点。
Ubuntu生成的软件包默认情况下对本地根具有unix_socket身份验证。要检查,运行
SELECT user, host, plugin FROM mysql.user;
您应该在root@localhost
的plugin
列中看到unix_socket
。
如果要使用密码身份验证,请运行
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;