我在使用官方MariaDB apt
repos从Ubuntu上的MariaDB 10.0.x升级到10.2.x后遇到此问题。 (我怀疑Debian用户会遇到同样的情况。)
我使用MariaDB 10.0.x和unix_socket
插件,在此次升级之前已经有一段时间没有问题了,这似乎表明该插件默认情况下在Maria 10.0中被禁用.x(以及比我使用的版本晚的版本),10.1.x或10.2.x [需要引证]。
重新启用unix_socket
插件并继续允许操作系统用户登录同名MariaDB帐户的最简单方法是什么,而无需输入密码?
要清楚,我之前只能使用mysql
命令登录MariaDB,作为root
操作系统用户(相当于mysql -uroot
),没有插件)。
答案 0 :(得分:0)
重新启用插件的过程很简单,只要您具有对MariaDB的根级访问权限。
作为任何根级MariaDB用户,发出以下查询(请参阅:https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/):
INSTALL PLUGIN unix_socket SONAME 'auth_socket';
然后,重新启动mysql
(MariaDB)守护程序;在Ubuntu或Debian上:
systemctl restart mysql
对于unix_socket
插件,MariaDB的行为应与版本10.0.22之前的行为相同。
如果在遇到此问题之前您对MariaDB的唯一根级访问是通过root
操作系统用户,则可能必须在Safe Mode中重新启动MariaDB并为root用户设置密码,或者,或者,创建具有根级权限的辅助用户。
一旦您能够以root级别权限登录MariaDB,您就可以执行上面提到的INSTALL PLUGIN ...
命令。不要忘记之后重启守护进程。