在终端进入mysql时,运行命令:mysql -u root -p
,输入密码后提示如题错误,查了几篇博文之后,发现由于mysql版本更新,很多都不适用了,方便大众,自己总结一个。
mac 版哦~
错误原因:密码错误
解决步骤
- 跳过MySQL的密码认证过程:
打开mysql配置文件:vim /etc/my.cnf
在文档内定位到[mysqld]文本段:
在[mysqld]后面任意一行添加“skip-grant-tables
”用来跳过密码验证的过程
保存退出:wq
- 重启MySQL
- 输入#mysql即可进入mysql
- 用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password("*******") where user="*******";
# 修改密码报错,注意语法变动
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
# 使用以下语句修改密码
mysql> update mysql.user set authentication_string=password('*******') where user='*******'; #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********