ubuntu apt-get 安装mariadb后进不去

举报
福州司马懿 发表于 2021/11/19 03:10:14 2021/11/19
【摘要】 问题 使用 sudo apt-get install mariadb-server 安装 mariadb后,直接键入 mariadb 会使用当前的用户名进行登录,这里提示访问被拒绝 既然用户名不对,...

问题

使用 sudo apt-get install mariadb-server 安装 mariadb后,直接键入 mariadb 会使用当前的用户名进行登录,这里提示访问被拒绝

在这里插入图片描述
既然用户名不对,那么就使用root来登,提示输入密码直接回车,结果依旧被拒
在这里插入图片描述
使用 mysql_secure_installation 重置密码也无效

解决

后面发现,由于安装时使用的是 su 权限,因此 apt 版本的 mariadb 也只认 su。

  1. 直接 sudo maridb,提示输入密码,输入当前系统用户密码,回车登陆成功(使用exit;退出后再次输入sudo mariadb进入可以免密)
    在这里插入图片描述

  2. 使用 sudo mariadb -uroot -p ,提示输入密码,直接回车,登陆成功
    在这里插入图片描述

原因

unix_socket认证插件允许用户通过本地Unix套接字文件连接到MariaDB的时候使用操作系统的凭证。通俗的讲就是用Linux操作系统的账号,去登录MariaDB/MySQL数据库。

这个功能是在MariaDB 10.4.6版本里添加的,目前也支持在MySQL 8.0.18版本中。

官网说明地址 https://mariadb.com/kb/en/authentication-plugin-unix-socket/

在这里插入图片描述

安装插件

apt 安装的 mariadb 自带该插件,也可以手动安装【报错行不通】

INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
或
INSTALL SONAME 'auth_socket.so';

  
 
  • 1
  • 2
  • 3

在这里插入图片描述

修改认证方式

下面需要将 auth_socket 改回 native_password 认证方式

使用 mysql 数据库,查看它的表

MariaDB [(none)]> show databases;
MariaDB [(none)]> use mysql;
MariaDB [(mysql)]> show tables;

  
 
  • 1
  • 2
  • 3

在这里插入图片描述select * from user 查看表里的内容,然后发现列真是太多了,表格都乱了
在这里插入图片描述修改查询方式,仅显示所需项 select host,user,password,plugin from user;
在这里插入图片描述将上面的方式改为 mysql_native_password,命令为update user set plugin='mysql_native_password' where user='root';
在这里插入图片描述
最后刷新到内存即可 flush privileges;

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

接下来,使用exit; 命令退出 mariadb
使用该命令 sudo mysql_secure_installation 重置密码,现在就可以使用与操作系统的root用户不同的密码登陆了。

这里一定要用sudo,否则权限不够。
在这里插入图片描述
在这里插入图片描述

创建新用户

create user ''<用户名>@'<localhost or %>' identified by '<密码>'
localhost 表示本地,% 表示 本地/远程 均可。
在这里插入图片描述
退出命令行,直接输入 mariadb 默认采用当前用户名。但是该方式是无密码的,使用 -p 参数,即可设置密码正常登陆了。
在这里插入图片描述

文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/chy555chy/article/details/108831935

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。