数据库新建用户后(Host:%),报错:localhost无法连接

news2025/1/5 19:25:37

存在问题

在给数据库(MySQL、MariaDB等)创建了新的用户名(eg:maxscale)后,无法使用新用户名登录,并报如下错误:ERROR 1045 (28000): Access denied for user 'maxscale'@'localhost' (using password: YES)

相信遇到该问题的人都有这样的疑问:明明创建用户时,host为‘%’,正常情况下所有的主机应该都可以连接呀,为什么报错'localhost'无法连接?

解决方案及问题分析,如下!

查看用户表

MariaDB [(none)]> select user,host from mysql.user;
+-------------+----------------+
| User        | Host           |
+-------------+----------------+
|             | localhost      |
| mariadb.sys | localhost      |
| mariadb10   | localhost      |
| root        | localhost      |
|             | vm172-0-11-157 |
+-------------+----------------+

创建用户

-- 创建用户
create user maxscale@'%' identified by "123456";
grant replication client, replication slave, select on *.* to maxscale@'%';

-- 查看用户
MariaDB [(none)]> select user,host from mysql.user;
+-------------+----------------+
| User        | Host           |
+-------------+----------------+
| maxscale    | %              |
|             | localhost      |
| mariadb.sys | localhost      |
| mariadb10   | localhost      |
| root        | localhost      |
|             | vm172-0-11-157 |
+-------------+----------------+
9 rows in set (0.003 sec)

连接数据库

在已经启动数据库的前提下,连接数据库:

/home/mariadb10/node5307/mysql/bin/mysql --defaults-file=/home/mariadb10/node5307/my.cnf -h127.0.0.1 -umaxscale -p123456 -P5307

连接报错:

原因分析

上述连接命令使用127.0.0.1作为主机名,MariaDB在mysql.user表中首先查找Host为127.0.0.1的用户条目,如果没有找到,它会查找Host为localhost的用户条目。由于maxscale用户对应的Host是%,理论上应该能够匹配任何主机,包括127.0.0.1和localhost。

但是,如果MariaDB在处理连接请求时,由于某些原因(可能是配置问题或权限问题)没有正确识别maxscale@%用户,它可能会退回到使用匿名用户。

解决办法

删除匿名用户!

1)查找匿名用户

MariaDB [(none)]> SELECT User, Host FROM mysql.user WHERE User = '';
+------+----------------+
| User | Host           |
+------+----------------+
|      | localhost      |
|      | vm172-0-11-157 |
+------+----------------+
2 rows in set (0.001 sec)

2)删除匿名用户

MariaDB [(none)]> drop user ''@'localhost';
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> SELECT User, Host FROM mysql.user WHERE User = '';
+------+----------------+
| User | Host           |
+------+----------------+
|      | vm172-0-11-157 |
+------+----------------+
1 row in set (0.001 sec)

3)重新连接数据库

注意:匿名用户权限很高,非必要情况下,优选删除匿名用户!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2271065.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《机器学习》——逻辑回归(下采样)

文章目录 什么是下采样?为什么在逻辑回归中要使用下采样?使用下采样和不使用下采样的区别实例1、实例内容2、实例步骤 什么是下采样? 下采样(Down - Sampling)是一种数据处理技术,主要用于处理数据集中不同…

ACM算法模板

ACM算法模板 起手式基础算法前缀和与差分二分查找三分查找求极值分治法:归并排序 动态规划基本线性 d p dp dp最长上升子序列I O ( n 2 ) O(n ^ 2) O(n2)最长上升子序列II O ( n l o g n ) O(nlogn) O(nlogn) 贪心二分最长公共子序列 背包背包求组合种类背包求排列…

Scala_【5】函数式编程

第五章 函数式编程函数和方法的区别函数声明函数参数可变参数参数默认值 函数至简原则匿名函数高阶函数函数作为值传递函数作为参数传递函数作为返回值 函数闭包&柯里化函数递归控制抽象惰性函数友情链接 函数式编程 面向对象编程 解决问题时,分解对象&#xff…

CSS 学习之正确看待 CSS 世界里的 margin 合并

一、什么是 margin 合并 块级元素的上外边距(margin-top)与下外边距(margin-bottom)有时会合并为单个外边距,这样的现象称为“margin 合并”。从此定义上,我们可以捕获两点重要的信息。 块级元素,但不包括浮动和绝对定位元素,尽…

Golang的代码质量分析工具

Golang的代码质量分析工具 一、介绍 作为一种高效、简洁、可靠的编程语言,被越来越多的开发者所喜爱和采用。而随着项目规模的增长和团队人员的扩大,代码质量的管理变得尤为重要。为了保障代码的可维护性、健壮性和可扩展性,我们需要借助代码…

鸿蒙元服务 口袋管家(从0到1) ——准备工作

达到的效果图 如何创建元服务? 如下: 鸿蒙如何创建元服务-元服务是什么?和App的关系?(保姆级步骤)_鸿蒙元服务-CSDN博客 开始创建包 Bill 里面创建两个page页面 分别是 BillAddPage 和 BillIndexPag…

轻量型web组态软件

体验地址:http://www.hcy-soft.com 随着互联网、物联网技术的快速发展,BY组态基于多年研发积累和私有部署实践打磨、以及对业务场景的深入理解,推出了适用于物联网应用场景的轻量型web组态软件。 该产品采用 B/S 架构,提供 web …

Linux C/C++编程-获得套接字地址、主机名称和主机信息

【图书推荐】《Linux C与C一线开发实践(第2版)》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践(第2版)(Linux技术丛书)》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com…

SweetAlert2 - 漂亮可定制的 JavaScript 弹窗

https://sweetalert2.github.io/ https://github.com/sweetalert2/sweetalert2 安装: npm install sweetalert2封装: import Swal from sweetalert2/dist/sweetalert2.js import sweetalert2/src/sweetalert2.scss/*** * param {string} icon - ico…

Android布局layout的draw简洁clipPath实现圆角矩形布局,Kotlin

Android布局layout的draw简洁clipPath实现圆角矩形布局,Kotlin 通常,如果要把一个相对布局,FrameLayout,或者线性布局等这样的布局变成具有圆角或者圆形的布局,需要增加一个style,给它设置圆角,…

PHP如何删除数组中的特定值?

php 中删除数组特定值的方法有三种:unset():直接删除指定索引的值,但会保留数组索引结构和未删除元素,适合小数组。array_filter():根据自定义回调函数筛选数组元素,返回一个新数组,原数组不变&…

啤酒风味塑造的关键因素——麦汁煮沸

在探索啤酒酿造的工艺过程中,我们发现每一个细微的步骤都对最终的口感和风味产生着不可忽视的影响。今天,让我们深入探讨一个关键环节——麦汁煮沸,以及其中至关重要的概念“煮沸强度”。 何谓煮沸强度?它又如何左右麦汁的品质&a…

unity开发之shader 管道介质流动特效

效果 shader graph 如果出现下面的效果,那是因为你模型的问题,建模做贴图的时候没有设置好UV映射,只需重新设置下映射即可

JAVA学习笔记_JVM

文章目录 初识jvm内存结构程序计数器(寄存器) 栈问题辨析内存溢出 线程诊断本地方法栈Heap堆内存溢出内存诊断 方法区内存溢出常量池 stringTable直接内存垃圾回收 初识jvm JRE JVM 基础类库 JDK JRE 编译工具 JavaSE JDK IDE工具 JavaEE JDK 应用服务器 IDE工具 jvm是…

供需平台信息发布付费查看小程序系统开发方案

供需平台信息发布付费查看小程序系统主要是为了满足个人及企业用户的供需信息发布与匹配需求。 一、目标用户群体 个人用户:寻找兼职工作、二手物品交换、本地服务(如家政、维修)等。 小微企业:推广产品和服务,寻找合…

牛客网刷题 ——C语言初阶——OR76 两个整数二进制位不同个数

1. 牛客网题目:OR76 两个整数二进制位不同个数 牛客网OJ链接 描述: 输入两个整数,求两个整数二进制格式有多少个位不同 输入描述:两个整数 输出描述:二进制不同位的个数 示例1 输入:22 33 输出&#xff1a…

直播美颜SDK深度优化技术探索:低延迟与高画质的平衡之道

本篇文章,小编将从技术角度出发,探讨直播美颜SDK的优化方法,探索实现低延迟与高画质并存的解决方案。 一、低延迟的技术挑战与应对策略 直播的核心在于实时互动,任何超过100ms的延迟都会显著影响用户体验。而美颜处理由于涉及复…

链表算法篇——链接彼岸,流离节点的相遇之诗(下)

文章目录 前言第一章:重排链表1.1 题目链接:https://leetcode.cn/problems/reorder-list/description/1.2 题目分析:1.3 思路讲解:1.4 代码实现: 第二章:合并K个升序链表2.1 题目链接:https://l…

WebRTC的线程事件处理

1. 不同平台下处理事件的API: Linux系统下,处理事件的API是epoll或者select;Windows系统下,处理事件的API是WSAEventSelect,完全端口;Mac系统下,kqueue 2. WebRTC下的事件处理类: …

【Cocos TypeScript 零基础 4.1】

目录 背景滚动 背景滚动 创建一个 空节点 背景丟进去 ( 复制一个,再丢一次都行) 新建TS脚本 并绑定到 空节点 上 再对TS脚本进行编辑 export class TS2bg extends Component {property (Node) // 通过属性面板去赋值bg1:Node nullproperty (Node) bg2:Node nullprope…