我尝试了很多事情:类似:
use mysql;
update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
flush privileges;
或
mysql_secure_installation
或
mysqladmin -u root -p password newpass
然后刷新权限,重新启动mysql
并且根密码仍然为空:我可以用一个简单的登录到mysql
mysql
无密码
(当然我不能登录phpmyadmin(
由于Debian 9,默认身份验证(当通过unix套接字/本地主机连接时(是通过unix套接字身份验证插件完成的:
unix_socket身份验证插件通过调用带有SO_PEERCRED套接字选项的getsockopt系统调用来工作,该选项允许它检索连接到套接字的进程的uid。然后它能够获取与该uid相关的用户名。一旦它有了用户名,它就会将连接用户身份验证为具有相同用户名的MariaDB帐户。
因此,除非禁用插件,否则更改密码当然不会起作用。另请参阅身份验证插件-Unix套接字