MySql 修改密码后的错误快速解决方法

设置好密码后,使用数据库时出现如下错误:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo

re executing this statement.

You must SET PASSWORD before executing this statement的解决方法

今天在MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决方法,需要的朋友可以参考下

参考前文利用安全模式成功登陆,然后修改密码,等于给MySql设置了密码。登陆进去后,想创建一个数据库测试下。得到的结果确实:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。

参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:

mysql> create database yan1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database yan1;
Query OK, 1 row affected (0.00 sec) 

也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!大爷的,真费劲啊。

这位仁兄也遇到了相同的问题。

最近新装好的mysql在进入mysql工具时,总是有错误提示:

# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 

或者

# mysql -u root -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)' 

现在终于找到解决方法了。本来准备重装的,现在不必了。

方法操作很简单,如下:

# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
mysql> FLUSH PRIVILEGES;
mysql> quit # /etc/init.d/mysqld restart
# mysql -uroot -p 

Enter password: <输入新设的密码newpassword>

MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决

mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database roger;
Query OK, 1 row affected (0.00 sec) 

也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!

以上所述是小编给大家介绍的MySql 修改密码后的错误快速解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • MySQL 修改密码实例详解

    MySQL 修改密码实例详解 许久不用MySQL了,今天打开HediSQL连接mysql时发现root密码忘记了,修改密码操作捣鼓了一阵子,记录一下,以备后用.(Win10本机操作) 关闭MySQL服务:net stop MySQL 以管理员身份打开cmd控制台窗口,进入MySQL所在目录的bin目录,执行mysqld --skip-grant-tables 再另开一个cmd窗口直接执行mysql命令(由于2操作已经是无需授权即可访问表,所以直接用mysql,不带用户名和密码即可登录) 切换到m

  • MySQL 5.7.16 修改密码提示 ERROR 1054 (42S22): Unknown column ''password'' in ''field list''的原因

    按照网上之前版本的操作,将my.ini中的skip-grant-tables注释去掉,然后在命令行中以mysql -u root -p可以直接进入,但是执行 mysql> update mysql.user set password=password('password') where user='root'; 会出现以下错误 mysql> ERROR 1054 (42S22): Unknown column 'password' in 'field list' 错误原因:mysql数据库下已

  • MYSQL基础之连接MYSQL、修改密码、添加用户

    一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 2.例2:连接到远程主机上的MYSQL.假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123.则键

  • MySql增加用户、授权、修改密码等语句

    1.新建用户. //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> mysql> insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub ject) values("localhost","pppadmin",password("passwd"),'','',''); 这样就创建了一个名为

  • mysql 5.1版本修改密码及远程登录mysql数据库的方法

    mysql创建用户并授权: 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"; grant[英][grɑ:nt]   承认; 同意; 准许; 授予; 例1:允许mk用户从localhost登录 mysql> grant all on book.* to mk1@localhost identified by "123456"; #允许访问book数据库下的所有表, 只能访问book表,而且是同一个服务

  • MySQL5.7.18修改密码的方法

    MySQL 5.7.18中如何修改密码: 1.首先关闭MySQL服务器: 可以在任务管理器中直接关闭,也可以在cmd中关闭mysql :net stop mysql 2.打开安全模式,可以免密码登录:cmd中先跳转至安装目录下:d: cd D:\Mysql\mysql-5.7.18-winx64\bin 然后输入:mysqld --defaults-file="D:\Mysql\mysql-5.7.18-winx64\my.ini" --console --skip-grant-tab

  • mysql 修改密码和设置允许远程登录

    修改的用户都以root为列. 一.拥有原来的myql的root的密码: 方法一: 在mysql系统外,使用mysqladmin # mysqladmin -u root -p password "test123" Enter password: [输入原来的密码] 方法二: 通过登录mysql系统, # mysql -uroot -p Enter password: [输入原来的密码] mysql>use mysql; mysql> update user set pass

  • mysql修改密码的三方法和忘记root密码的解决方法

    方法1: 用SET PASSWORD命令 复制代码 代码如下: mysql -u rootmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin 复制代码 代码如下: mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 复制代码 代码如下: mysqladmin -u root password oldpas

  • MySql 修改密码后的错误快速解决方法

    设置好密码后,使用数据库时出现如下错误: ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement. You must SET PASSWORD before executing this statement的解决方法 今天在MySql5.6操作时报错:You must SET PASSWORD before executing this

  • 解压版MYSQL安装及遇到的错误及解决方法

    1 安装 在 MYSQL官网进行下载相应的解压版本,然后放在你所想的目录下. 解压内容如下: 然后我们需要去创建一个名为my.ini文件,注意文件后缀一定要是.ini结尾,如果文件后缀隐藏了,可以将其勾选上,如图: 创建文件:my.ini. 其内容如下: [client] port=3306 default-character-set=utf8 [mysqld] # 设置为自己MYSQL的安装目录 basedir=D:\Program Files\mysql-5.7.24-winx64 # 设置

  • CentOS7中MariaDB修改datadir后无法启动的解决方法

    发现问题 最近想把服务器的CentOS 6.8升级上CentOS7.但是失败了,重装了系统,重装以后挂载好数据盘后发现MariaDB起不来了,查journal log,只有一行warning can't create test file /var/lib/mysql/core.lower-test 解决方法 在网上查了一下,有两种方案 第一是说selinux导致的,但是ucloud的镜像默认就是关闭selinux的,所以不是这个问题 第二说是apparmor限制了进程的目录读写,但是那是Ubun

  • MySql修改密码后phpMyAdmin无法登陆的解决方法

    安装wamp集成服务器并配置完成后,点击PhpMyAdmin,就可以进入mysql数据库在线客户端,但是当你修改了mysql管理员root用户密码后再点击将出现以下页面: 错误原因:这是因为修改了mysql密码后phpmyadmin配置文件没有同步更新 解决方法:打开config.inc.php(一般位于wamp/apps/phpmyadmin/下),修改数据库密码(我的数据库密码设置为root,所以此处也要同步),如下图所示 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持

  • mysql启动服务报1058错误的解决方法

    今天研究一个框架,数据库使用mysql,启动mysql服务的时候报1058错误,如下图. 在网上找了半天都是一样的解决 办法,试了一遍通通不行(仅针对我本地服务启动出现的问题无效).网上解决办法如下:. 新启动,却无法启动. 解决方法: ◆1.运行 D:\mysql\bin>mysqld-nt -remove Service successfully removed. D:\mysql\bin>mysqld-nt -install Service successfully installed.

  • linux下mysql提示"mysql deamon failed to start"错误的解决方法

    有台linux服务器,系统为centos系统. 网站突然连接不上数据库,于是朋友直接重启了一下服务器.进到cli模式下,执行 service myqsld start 发现还是提示"mysql deamon failed to start"错误信息. # /etc/init.d/mysqld start MySQL Daemon failed to start. Starting mysqld: [FAILED] 查看mysqld的log文件 #less /var/log/mysqld

  • MYSQL无法连接 提示10055错误的解决方法

    解决方法:(以下内容为本人亲自实践原创) 总结一下,应该是连接数的问题,那么服务器上有些什么连接数: 1.IIS网站服务器中各个网站中有"连接超时时间","会话超时时间": 2.其它程序占用的服务器连接数(如SMTP服务在发信出去的时候可能有很多个连接数) 3.服务器本身的TCP/IP连接数,如xp系统就有个限制,不过server 2003系统似乎没这个限制. 解决操作: 1.我的服务器上面有几个网站,其中有个网站有个自动发信的功能,用"netstat -

  • WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法

    再之前同时安装 python 后 只需把环境变量PATH 里面改为 PATH=C:\Python36-32\Scripts\;C:\Python36-32\;C:\Python27\;C:\Python27\Scripts 然后把python3安装后的文件按照如下修改: C:\Python36-32\Scripts\pip.exe 改为 C:\Python36-32\Scripts\pip3.exe C:\Python36-32\python.exe 改为 C:\Python36-32\pyth

  • MySQL server has gone away错误提示解决方法

    大概浏览了一下,主要可能是因为以下几种原因: 一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可. 还有一种可能是因为某些原因导致超时,比如说程序中获取数据库连接时采用了Singleton的做法,虽然多次连接数据库,但其实使用的都是同一个连接,而且程序中某两次操作数据库的间隔时间超过了wait_timeout(SHOW STATUS能看到此设置),那么就可能出现问题.最简单

  • mysql服务无法启动报错误1067解决方法(mysql启动错误1067 )

    试了谷歌到的几种方法,都没有解决,然后突然想起在启动apache的时候,iis的端口占用情况(因为我的apache也使用了80端口),所以  打开命令行 netstat -aon|findstr "3306" 结果显示 默默的在内心深处骂了一句"靠", 果然是端口占用,然后,顺藤摸瓜 tasklist|findstr "416" 结果显示 不得不联想到,优酷的攻城狮们的mysql数据库绝对不是使用的默认3306端口,然后杀掉explorer.ex

随机推荐