参考链接1
参考链接2
简单粗暴:直接修改密码。
本次操作所有需要用到的密令行:
bin>net stop mysql
bin>mysqld --skip-grant-tables
bin>mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
(或者:update mysql.user set authentication_string=password('root') where user='root' ;)
mysql>flush privileges;
mysql>quit
bin>mysqladmin -u root -p shutdown
bin>net start mysql
具体操作步骤如下:
以管理员身份运行命令终端,进入mysql数据安装位置的bin目录:
停止mysql服务:net stop mysql
输入命令,跳过了mysql的用户验证:mysqld --skip-grant-tables
重新打开一个命令终端输入:mysql
执行命令:
mysql> use mysql
Database changed
mysql> update mysql.user set authentication_string=password('123456') where user='root';
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.01 sec)
mysql> quit
Bye
PS C:Windowssystem32> mysql -uroot -p
执行:mysqladmin -u root -p shutdown
重新启动mysql服务:net start mysql
补充:此命令报错的原因是
mysql> update user set password=password("123456") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
执行后报错 ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string



