给单位装了台服务器,做 JIRA SERVICE DESK 用。用的是 MariaDB-10.4,其它还都好,配置完所有的安全设置后出了一个问题,MYSQL直接回车就可以登陆。
网上的文章一抓一大把
如果认真点,你还会想到用MariaDB报的错误来查询
最终结果,还是解决不了 MariaDB 可以直接登陆的问题,大部分说的都是要改mysql.user表里的plugin字段,从unix_socket 改成 mysql_native_password,但如果你在10.4中,会发现,
还有说要改sql_saft_updates的,可是在10.4中默认就是OFF
只能去官方找文档了,URL如下
https://mariadb.org/authentication-in-mariadb-10-4/
现在大概说说原因
mysql.user 表目前已不起作用了,真正的表是 mysql.global_priv 表,查询后我们发现root用户是unix_socker类型,这就解释了为啥总能直接登陆的问题
而解决方法很简单,只要输入如下命令即可。
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("your_root_pass")
现在,MariaDB-10.4 就可以用密码登陆了。