解决MySQL中忽略用户的现象

如果遇到下述错误,表示当启动mysqld时或重新加载授权表时,在用户表中发现具有非法密码的账户。

发现用户’some_user’@’some_host’密码错误:忽略用户。

作为其结果,许可系统将简单忽略账户。

在下面的介绍中,指明了可能的原因和问题的更正措施:

1.或许,你正打算用旧的用户表运行新版本的mysqld。执行mysqlshow mysql user检查Password(密码)列是否短于16个字符,通过该方式可检查该问题。如果结果是肯定的,可运行脚本/add_long_password脚本更正该问题。

2.账户具有旧的密码(8字符长),而且未使用“--old-protocol”选项启动mysqld。更新用户表中的账户,使之具有新的密码,或使用“--old-protocol”选项重启mysqld。

3.在用户表中未使用PASSWORD()函数指定了密码。使用mysql用新密码更新用户表中的账户,务必使用PASSWORD()函数:

4.

mysql> update user SET Password=PASSWORD(’newpwd’)

5.

-> where User=’some_user’ AND Host=’some_host’;

时间: 2024-10-30 01:05:00

解决MySQL中忽略用户的现象的相关文章

如何实现MySQL中的用户管理

mysql|用户管理 MySQL有一套先进的但非标准的安全/授权系统,掌握其授权机制是开始操作MySQL数据库必须要走的第一步,对于一个熟悉SQL基本操作的人来说,也是MySQL所有的知识中比较难以理解的一个部分.本文通过揭开其授权系统的运作机制,希望大家能够可以更好地操作和使用这个优秀的数据库系统. 本文主要参考了MySQL安装所附的使用手册第六章中的部分内容. 1.授权机制的主要作用是什么? 授权机制的基本作用是给某个主机上的用户对某个数据库以select,insert,update和det

解决MySQL中Sleep连接过多的问题

在mysql中运行SHOW PROCESSLIST;,现数据库中有很多这样的进程: 其实就是MySQL中Sleep连接过多,那么造成sleep的原因,有三个,下面是mysql手册给出的解释: 1.客户端程序在退出之前没有调用mysql_close().[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接...]2.客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发出任何请求到服务器. [类似常连,类似于不完整的tcp ip协议构造,服务

三种方法修改MySQL中一个用户的密码

在MySQL中修改一个用户(比如叫"hunte")的密码,可以用如下3个办法: #在控制台上输入 bash$ mysql -u root mysql #用mysql客户程序 mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='hunte'; mysql> FLUSH PRIVILEGES; mysql> QUIT #在控制台上输入 bash$ mysql -u r

解决mySQL中1862(phpmyadmin)/1820(mysql)错误的方法_Mysql

发现问题 之前一直运行的好好的,突然mysql就无法工作了.请求命令后报错误:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement ,使用phpMyAdmin管理工具也无法登录,显示错误:#1862 无法登录 MySQL 服务器 错误解决 进入mysql的服务器中使用mysql指令进行登录及操作. 1.登录mysql:mysql -uroot -proot (root是我的帐号及密码) 2.尝试是否报1

如何解决MySQL中文件未找到的现象

如果遇到"ERROR '...'未发现(errno: 23)","无法打开文件:... (errno: 24)",或来自MySQL的具有errno 23或errno 24的其它错误,它表示未为MySQL服务器分配足够的文件描述符.你可以使用perror实用工具来了解错误编号的含义: shell> perror 23 错误代码23:文件表溢出 shell> perror 24 错误代码24:打开文件过多 shell> perror 11 错误代码11

解决MySQL中的Slave延迟问题的基本教程_Mysql

一.原因分析一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制线程只有一个sql thread用于binlog的apply,所以难怪slave在高并发时会远落后master. ORACLE MySQL 5.6版本开始支持多线程复制,配置选项 slave_parallel_workers 即可实现在slave上多线程并发复制.不过,它只能支持一个实例

如何解决域中普通用户只限于10台客户机加入域的数量问题

在实际应用中,我们会遇到这种情况,我们让客户机加入域的授权帐户会是一个专用的帐户,此帐户一般不受任何权限,因为如果用脚本加入域的话此帐户的信息会写在加入域的脚本中. 但是当使用AD用户尝试加入域的工作站的数量超过"10"时,会出现如下提示:提示已超出此域允许的计算机用户的最大值,请联系统管理员.那么该怎样解决这个问题? 首先在DC上面安装"Support Tools"工具,点击开始--运行,输入"adsiedit.msc",在弹出窗口中展开&qu

MySQL中导出用户权限设置的脚本分享_Mysql

在对MySQL数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限.对于这个迁移我们可以从mysql.user表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL语句即可.本文提供了生成提取用户权限的脚本并给出演示. 1.生成用户权限的脚本 复制代码 代码如下: [root@HKBO ~]# more exp_grant.sh  #!/bin/bash  #Function export user privileges    pwd=123456  expg

Mysql中新建用户及授权的方法分享_Mysql

在项目开发的过程中可能需要开放自己的数据库给别人,但是为了安全不能自己服务器里其他数据库同时开放.那么可以新建一个用户,给该用户开放特定数据库权限 测试环境:Centos 6.3和Mysql 5.3 一.新建用户 复制代码 代码如下: //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Password) values("localhost","cp