#MySQL高版本修改密码
MySQL低版本修改密码直接登录后使用命令行即可。
mysql> use mysql;
mysql> update user set password=password(‘123’) where user=‘root’ and host=‘localhost’;
但高版本MySQL会发生错误
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(‘123’) where user=‘root’ and host=‘localhost’’ at line 1
尝试多次发现user表中已经没有了password字段
mysql> select user,password from user;
ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
最后发现,使用ALTER USER 'root'@'localhost'IDENTIFIED BY '********'
才可以修改成功
mysql> ALTER USER ‘root’@'localhost’IDENTIFIED BY ‘123’;
Query OK, 0 rows affected (0.10 sec)
安装成功!
Access denied for user ‘root’@‘localhost’ (using password:YES)的解决方案
- 关闭Mysql服务
- 修改MySQL目录下的my.ini文件,在最后一行添加
skip-grant-tables
(免密码登录)并保存 - 重启MySQL服务
- 在环境变量添加bin目录的状态下,在控制台输入
mysql -u root -p
并执行,进入MySQL - 输入
use mysql
使用mysql库 - 根据上面修改密码方式修改密码(低版本使用
update user set password=password('123') where user='root' and host='localhost';
修改) - 重新修改MySQL目录下my.ini文件,将
skip-grant-tables
删除并保存 - 重启MySQL服务
- 接下来使用
mysql -u root -p ‘你的密码’
即可登录
发现大多数情况此方法并不适用,在网上扒拉半天又发现另一种方法
总体思想没变,还是修改my.ini文件,在最后添加skip-grant-tables
,但本方法是使用命令行修改。
方法也没变,将以上第二个方法改为在管理员打开的控制台下输入:
mysqld --defaults-file="D:\MySQL\my.ini" --console --skip-grant-tables
即可
再补充:
如果是初始化时输入密码出现此错误,只需要复制初始密码,点击鼠标右键粘贴到需要输入密码的地方(此处Ctrl+V无效)便可进入数据库并设置新密码。