1、以管理员身份登录。
2、如果mysql以windows服务方式运行,【开始】-【控制面板】-【管理工具】-【服务】,在服务列表中找到mysql服务,停止。
如果非服务方式运行,进入【任务管理器】,找到mysqld进程,终止。
3、创建包含如下声明语句的文本文件,对密码更新,保存该文本文件
C:\mysql-init.txt
。
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
4、打开控制台,【开始】-【运行】,输入cmd
5、使用--init-file
选项启动服务器
mysqld --init-file=C:\\mysql-init.txt
加入--console
选项,将直接在控制台输出结果,而不是日志文件。
以上是mysql doc中提供的方法,实际操作发现会出现如下错误:
ERROR: 1064 You have an error in your SQL syntax; check the manual that corresp onds to your MySQL server version for the right syntax to use near '茂禄驴UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';' at line 1
改用直接命令行输入的方法:
mysqld --skip-grant-tables --console
mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
mysql> FLUSH PRIVILEGES;