重置MySQL 5.6中的ROOT密码

PM *_*7-1 18 mysql passwords password-recovery windows-7 mysql-5.6

我一直在按照这些说明重置root密码,以便MySQL 5.6在Windows 7笔记本电脑上进行本地安装.

我停止了服务,创建了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
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

2014-02-08 15:44:10 0 [警告]不推荐使用具有隐式DEFAULT值的TIMESTAMP.请使用--explicit_defaults_for_timestamp服务器选项(有关详细信息,请参阅文档).

由于这是一个警告,我不确定是否需要修复任何东西,然后再次重做该过程.

目前,命令窗口仍处于打开状态,不接受任何输入.我应该强制关闭它还是我可以做任何事情来优雅地完成这个过程?

UPDATE

我杀死了命令窗口,并尝试重新启动该服务.出了错误.

重新启动Windows,服务自动启动.该 root password似乎工作.我成功地使用了需要密码的Workbench的各种功能.

所以,警告确实只是一个警告.

Tim*_*ess 56

在Windows上:

0)关闭服务 mysql56

1)转到C:\ProgramData\MySQL\MySQL Server 5.6,注意这ProgramData是一个隐藏文件夹

2)寻找文件my.ini,打开它并在skip-grant-tables下面添加一行[mysqld],保存

[mysqld]

skip-grant-tables
Run Code Online (Sandbox Code Playgroud)

3)开始服务 mysql56

4)通过权限,您可以访问数据库,运行 mysql

5)并使用下面的查询来更新密码

update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';
Run Code Online (Sandbox Code Playgroud)

注意:对于较新版本,请使用authentication_string而不是password

6)再次关闭服务,删除skip-grant-tables保存的线路,然后再次启动服务.尝试使用您设置的密码登录.


在Mac上:

0)停止服务

sudo /usr/local/mysql/support-files/mysql.server stop
Run Code Online (Sandbox Code Playgroud)

1)跳过授权表

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)

一旦它运行,不要关闭它,并打开一个新的终端窗口

2)进入mysql终端

/usr/local/mysql/bin/mysql -u root
Run Code Online (Sandbox Code Playgroud)

3)更新密码

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)

对于像5.7这样的新版本,请使用

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)

4)跑 FLUSH PRIVILEGES;

5)跑去\q戒烟

6)启动mysql服务器

sudo /usr/local/mysql/support-files/mysql.server start
Run Code Online (Sandbox Code Playgroud)

  • 应该注意的是,没有'密码'列,至少不在MySql 5.7中.使用'authentication_string',如@ SatishakumarAwati的答案. (2认同)

Sat*_*ati 6

而已!!


PM *_*7-1 4

问题已经解决

正如我的问题所述,我遵循 MySQL 手册中的说明

该过程并不完全按照描述进行(这就是我最初发布帖子的原因),但它仍然有效(请参阅我帖子中的更新部分)。