如何在升级MariaDB 10.0之后在Ubuntu和Debian GNU / Linux中重新启用Unix套接字身份验证插件

时间:2018-01-24 02:32:38

标签: mariadb

我在使用官方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),没有插件)。

1 个答案:

答案 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 ...命令。不要忘记之后重启守护进程。