答案1
我遇到了类似的问题并使用此解决方案使其正常工作。
第 1 步:将 UNIX 身份验证插件添加到 MARIADB 配置
更改文件/etc/mysql/mariadb.conf.d/50-server.cnf
添加以下部分的行[mysqld]
。
plugin-load-add = auth_socket.so
重新启动服务器,您应该使用以下命令登录
sudo mysql -u root
就是这样!
Mariadb 开发人员似乎找到了一种根据实际用户进行识别的新方法,因此他们做了一个扩展,允许您:如果您user1
在 Linux 上并且恰好有一个名为的 MySQL 用户user1
,那么他将无需登录即可登录基于套接字文件的密码(最后一句只是我的理解,我可能是错误的或不精确的)。
最重要的是,你可以很好地完成第一步,除非想要旧的识别行为,然后转到步骤2:
第 2 步:更改为标准身份验证
运行以下命令
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit