解决 MariaDB 默认root无密码就可以登录的问题-下一朵云
图1 mairiaDB问题处理

1.问题描述:

mariadb 10.5.9

配置完所有的安全设置后出了一个问题,输入mysql或者mysql -uroot回车就可以登陆,搜索网上文章有很多,最终结果,还是解决不了 MariaDB 可以直接登陆的问题

解决 MariaDB 默认root无密码就可以登录的问题-下一朵云
图2 网上搜索无法解决

大部分说的都是要改mysql.user表里的plugin字段,从unix_socket 改成 mysql_native_password,但如果你在10.5.9中,会发现

解决 MariaDB 默认root无密码就可以登录的问题-下一朵云
图3 mysql.user表

还有说要改sql_saft_updates的,可是在10.5.9中默认就是OFF

解决 MariaDB 默认root无密码就可以登录的问题-下一朵云
图4 sql_saft_updates记录值

只能去官方找文档了,https://mariadb.org/documentation/

2.解决办法:

现在大概说说原因:mysql.user 表目前已不起作用了,真正的表是 mysql.global_priv 表,查询后我们发现root用户是unix_socker类型,这就解释了为啥总能直接登陆的问题

解决 MariaDB 默认root无密码就可以登录的问题-下一朵云
图5 mysql.global_priv表

select * from global_priv \G查询 ,root用户默认是unix_socker类型

而解决方法很简单,只要输入如下命令即可

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("your_root_pass")

you_root_pass 替换为你自己要设置的登录密码

现在,MariaDB 就必须用密码登陆了

解决 MariaDB 默认root无密码就可以登录的问题-下一朵云
图6 问题解决/用密码登录
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。