标题有点罗嗦,目前出现的问题如下:

当以非root身份登录数据库时,会报错

mysql -u root -p

Enter password:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

而使用root身份访问就没有问题

问题探究

查看root用户使用的认证插件:

mysql> select user,plugin from user where user = 'root';

+------+-------------+

| user | plugin |

+------+-------------+

| root | auth_socket |

+------+-------------+

1 row in set (0.00 sec)

MySQL使用的auth_socket是通过Unix套接字进行连接认证[1]

The unix_socket authentication plugin works by calling the getsockopt system call with the SO_PEERCRED socket option, which allows it to retrieve the uid of the process that is connected to the socket. It is then able to get the user name associated with that uid. Once it has the user name, it will authenticate the connecting user as the MariaDB account that has the same user name. [2]

因此可以将认证插件改为 mysql_native_password

解决方法

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

FLUSH PRIVILEGES;

另请参阅

[1] https://dev.mysql.com/doc/refman/8.0/en/socket-pluggable-authentication.html

[2] https://mariadb.com/kb/en/authentication-plugin-unix-socket/

标签:socket,plugin,mysql,Linux,以非,user,MySQL,password,root

来源: https://www.cnblogs.com/ZanyRain/p/12243460.html

linux系统的数据库是本地吗,Linux下MySQL无法在本地以非root用户身份连接数据库...相关推荐

  1. linux以非root身份运行,以非root用户身份在linux中运行mono-service

    我需要在嵌入式系统上以最低Ubuntu安装方式运行.net C#应用程序(在Windows系统上开发)作为服务/守护程序(不包括X,除服务器外SSH,只有相关的软件).我创建了一个/etc/init. ...

  2. linux 系统忘记数据库root密码

    linux 系统忘记数据库root密码 首先,你必须要有操作系统的root权限了. 要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤. 第一步:停止mysql服务 service ...

  3. linux系统下安装pfam数据库中hmmer软件以及python3非root用户的安装

    linux系统下安装pfam数据库中hmmer软件以及python3非root用户的安装 http://hmmer.org/从该链接下载源,其中有Userguide.pdf 下载,解压缩并切换目录 之 ...

  4. alin的学习之路(Linux系统编程:一)(Linux基础命令)

    alin的学习之路(Linux系统编程:一)(Linux基础命令) 1.Linux学习准备 操作系统的作用 向上给用户提供简单的操作计算机硬件的方式 对下管理硬件 承上启下 程序运行在操作系统上,程序 ...

  5. linux系统发送信号的系统调用是,linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction...

    信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...

  6. 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...

  7. linux系统下载r软件安装,在Linux系统安装R

    一.系统要求 最小1G RAM 具有sudo权限的非root用户. 如果满足这些条件的话我们就开始了. 二.安装R R更新速度较快,最新的稳定版本并不总是在Ubuntu的软件库,所以我们将开始通过添加 ...

  8. linux系统6.5详解,linux6.5下 简单配置 MINI 系统实现详解(1)

    一.linux系统启动流程介绍 我们来了解下linux系统的启动流程: 首先linux要通过POST自检过程(BIOS)-->如果想要做多块启动盘的话,还需要在bios中选择启动磁盘--> ...

  9. linux系统组成之小型RedHat little linux制作二

    本篇是在上篇"linux系统组成之小型RedHat little linux制作一"的基础上对微型小系统进一步完善,使其实现关机.重启等功能 ⑴.通过脚本使其微型系统实现关机.重启 ...

最新文章

  1. python在word中的应用_不能在worddoc中使用docx python应用表样式
  2. ubuntu + oepncv + PCL + realsenseSDK + ROS + OpenVino开发环境搭建
  3. SC-A-LOAM:在A-LOAM中加入回环检测
  4. 理解GO CONTEXT机制
  5. 操作系统: 最佳适配算法和邻近适配算法的模拟实现(内存分配算法)
  6. Vue项目实战04 : Vue 轮询接口的实现
  7. (kruskal算法复习+模板)Eddy's picture
  8. python(六)切片,生成式,生成器,迭代
  9. SharedPreferences的使用,android
  10. SWT: 发起事件 post event
  11. 前端代码编辑器:sublime text 4 for Mac v4115中文版
  12. 360浏览器:中国为什么没有自主研发的浏览器内核?
  13. CSS揭秘之多重边框连续的图像边框
  14. numpy之转置(transpose)和轴对换
  15. 【指纹识别】基于matlab GUI指纹识别匹配门禁系统【含Matlab源码 587期】
  16. 音视频 TS格式解析
  17. HTML中文字携带拼音的方法
  18. css 使图片变清晰
  19. C++练习实例———控制台实现坦克大战小游戏
  20. WebGIS开发快速入门

热门文章

  1. 彻底解决win10自动下载更新的问题
  2. 从源码角度看Android系统init进程启动过程
  3. java try finally connectoin close_Java I/O流详解
  4. 1.3.1 操作系统的运行机制和体系结构(大内核、小内核)
  5. Oracle 原理: 数据类型
  6. python控制语句第一章_【原创】Python第一章
  7. exit()、_Exit() 和 _exit() 函数的区别和联系
  8. 处理自己的数据集_手写代码实现KDD CUP99数据集的数据归一化处理
  9. 堆栈转化8进制_11张卡片学会进制转换
  10. Arduino--库函数头文件