我已经在 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
访问数据库工作正常” 你的意思是你在作为系统根运行它(或在 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;
关于mysql - MariaDB 警告 : 'root@localhost' has both . .. 密码将被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43439111/