我刚买了一台VPS并在上面装了MariaDB,这是-version:
mysql Ver 15.1 Distrib 10.0.28-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
所以这就是事情。我想更改MySQL连接的root
用户密码。
我尝试了互联网上的几乎所有指南,但我仍然可以使用命令mysql
直接连接到数据库,而无需指定root或密码。我正在尝试将所有内容作为root
shell用户,如果这是一个问题。
我使用authentication_string
方法设置了password
和PASSWORD()
列,并确认它们现在已加密了值。
我已经使用service mysql restart
重新启动了MySQL服务,但仍然徒劳无功。我的MySQL端口默认为3306
我在这里错过了什么? TIA。
(请不要将此标记为重复,我几乎已经完成了所有帖子并尝试了解决方案,我只需要更深入的了解)
答案 0 :(得分:2)
您显然正在使用Debian提供的MariaDB 10.0软件包。最近,Debian默认使用unix_socket身份验证对其包中的本地root进行了验证。您可以通过运行
来查看它SELECT user, host, password, plugin FROM mysql.user;
如果您不想要它,可以通过运行
切换回密码验证UPDATE mysql.user SET plugin = '' WHERE user = 'root';
FLUSH PRIVILEGES;