我一直关注these instructions用于重置 root 密码以在 Windows 7 笔记本电脑上本地安装 MySQL 5.6
。
我停止了服务,创建了 init-file,并运行了以下命令(以管理员身份):
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\MySQL-misc\\mysql-init.txt
我收到以下警告:
2014-02-08 15:44:10 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
由于这是一个警告,我不确定是否需要修复任何问题,然后再次重做该过程。
当前命令窗口仍然打开并且不接受任何输入。我应该强制关闭它还是我可以做些什么来优雅地完成这个过程?
更新
我杀死了命令窗口并尝试重新启动服务。出错了。
重新启动 Windows,服务自动启动。 new root 密码
似乎有效。我成功使用了Workbench的各种需要密码的功能。
所以,警告确实只是一个警告。
最佳答案
在 Windows 上:
0) 关闭服务mysql56
1) 进入C:\ProgramData\MySQL\MySQL Server 5.6
,注意ProgramData
是一个隐藏文件夹
2) 寻找文件my.ini
,打开并在[mysqld]
下面添加一行skip-grant-tables
,保存
[mysqld]
skip-grant-tables
3) 启动服务mysql56
4) 对了,就可以访问数据库了,运行mysql
5) 并使用下面的查询更新密码
update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';
注意:对于较新的版本,请使用authentication_string
而不是password
6) 再次关闭服务,删除skip-grant-tables
行保存,重新启动服务。尝试使用您设置的密码登录。
在 Mac 上:
0) 停止服务
sudo /usr/local/mysql/support-files/mysql.server stop
1) 跳过授权表
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
一旦运行,不要关闭它,打开一个新的终端窗口
2) 进入mysql终端
/usr/local/mysql/bin/mysql -u root
3) 更新密码
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
对于较新的版本,如 5.7,请使用
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
4) 运行FLUSH PRIVILEGES;
5) 运行\q
退出
6) 启动mysql服务器
sudo /usr/local/mysql/support-files/mysql.server start
关于mysql - 在 MySQL 5.6 中重置 ROOT 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21651898/