linux - mysql 异常:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

问题描述

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

备注:新安装完数据库后,在 xshell 上登录 mysql 后,运行 SQL 语句报如上错误

解决方案一

# /etc/init.d/mysql stop // 关闭 mysql

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql // 进入 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>

解决方案二

mysql>  SET PASSWORD = PASSWORD(‘123456‘);  // 用这句话重新设置一次密码,就可以了

备注

方案一、二可以搭配使用,先用一,再用二

原文地址:https://www.cnblogs.com/7q4w1e/p/9957951.html

时间: 2024-10-31 17:08:52

linux - mysql 异常:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement的相关文章

安装完绿色版MySQL修改密码:ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement.

mysql> update mysql.user set password=PASSWORD('123456') where User='root';ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 参考:http://dev.mysql.com/doc/refman/5.6/en/alter-user.html 直接执行:set

Mac下Mysql启动异常[&quot;ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket &#39;/tmp/mysql.sock&#39; (2)&quot;]

在mac下使用brew安装mysql,之前没有使用过,今天启动的时候发现启动不了 huijundeMacBook-Pro:bin huijunzhang$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 查看mysql的安装位置: huijundeMacBook-Pro:bin huijunzhang$ which mysql /usr/local

mysql 5.7 ERROR 1820 (HY000):

在首次登录Mysql 5.7 后,mysql数据库做出了很多的调整.执行大部分操作会提示这个错误 : ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 这个错误,是因为Mysql 5.7 要求更新默认密码的规则导致的.初次登录Mysql要求更新root用户密码. 可以通过以下SQL 来调整: set password=passwo

mysql 报错ERROR 1820 (HY000):You must resetpassword

今天登录mysql(Server version: 5.7.11) 还是很好的,今天登录后执行任何命令都报下面的错误 mysql> help contentsERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.mysql> help contentsERROR 1820 (HY000): You must reset your pa

MYSQL服务 ERROR 2003 (HY000): Can&#39;t connect to MySQL server on &quot;********&quot; 的问题解决

今早来到公司发现昨晚还好好的数据库跑不起来了,这对于本是C语言主编的本人刚刚操作后台来说未免一头雾水. 而且该问题的出现大多是因为一夜突发毫无征兆,或者因为mysql重装.而且网上的题解也有好多答复重装,真是... 具体问题如下: 想必看到这个对于刚刚上手操作mysql的朋友来说都回去查看一下10061这是个什么错误吧. 可恰巧,本人用的是windows系统,网上大多题解都是linux操作环境下的(说到这里,作为程序猿真应该研究一下linux,那也得等现在的项目完毕啊). 像my.cnf配置文件

mysql 解决 ERROR 1114 (HY000): The table &#39;XXX&#39; is full

操作:执行 alter table aa_table drop column hehe; 删除 aa_table 表中 hehe 字段.导致 ERROR 1114 (HY000): The table 'sy_transaction_info' is full. 删除字段操作,磁盘可以空间需要大于表本身占据的空间(如当前操作的表占据 40 GB,那么要求磁盘可用空间必须大于 40 GB). 据观察推断其删除字段行为为:创建一张新表,删除的字段不再创建,再把原有的表数据导入新表. 1. 查看磁盘使

(MYSQL)ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket &#39;/var/run/mysqld/mysqld.sock&#39; (2)

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 方案1. 1.#ps -A|grep mysql 显示类似: 1829 ?        00:00:00 mysqld_safe   1876 ?        00:00:31 mysqld 2.#kill -9 1829 3.#kill -9 1876 4.#/etc/init.d/

远程mysql出现ERROR 1130 (HY000): Host &#39;172.17.42.1&#39; is not allowed to connect to this MySQL server

ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server 说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录. 需更改 mysql 数据库里的 user表里的 host项 把localhost改称% 具体步骤:登陆到MySQL 首先 use mysql: 按照别人提供的方式update的时候,出现错误. MySQL> update user set host='%' w

mysql之ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket &#39;/var/run/mysqld/mysqld.sock&#39;解决方法

LAMPP安装完成之后,mysql -u root -p连不上,报这个错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 在mysql的配置文件里,/opt/lampp/etc/my.cnf, 发现了这样的配置: [java] <SPAN style="FONT-SIZE: 24px"># The following