在MySQL 5.6中重置根密码

在MySQL 5.6中重置根密码,mysql,windows-7,passwords,password-recovery,mysql-5.6,Mysql,Windows 7,Passwords,Password Recovery,Mysql 5.6,我一直在遵循重置Windows 7笔记本电脑上本地安装MySQL 5.6的root密码 我停止了服务,创建了init文件,并以管理员身份运行了以下命令: 我收到了以下警告: 2014-02-08 15:44:10 0[警告]带有隐式默认值的时间戳 不推荐使用。请使用--explicit\u defaults\u作为\u时间戳服务器 选项(有关更多详细信息,请参阅文档) 因为这是一个警告,所以我不确定是否需要修复任何东西,然后重新执行该过程 当前,“命令”窗口仍处于打开状态,不接受任何输入。我应该

我一直在遵循重置Windows 7笔记本电脑上本地安装MySQL 5.6的root密码

我停止了服务,创建了init文件,并以管理员身份运行了以下命令:

我收到了以下警告:

2014-02-08 15:44:10 0[警告]带有隐式默认值的时间戳 不推荐使用。请使用--explicit\u defaults\u作为\u时间戳服务器 选项(有关更多详细信息,请参阅文档)

因为这是一个警告,所以我不确定是否需要修复任何东西,然后重新执行该过程

当前,“命令”窗口仍处于打开状态,不接受任何输入。我应该强制关闭它,还是我可以做些什么来优雅地完成这个过程

更新

我关闭了命令窗口并尝试重新启动服务。有个错误

重新启动Windows并自动启动服务。新的
根密码
似乎有效。我成功地使用了Workbench的各种需要密码的功能


因此,这个警告实际上只是一个警告。

问题已经解决了

正如我在问题中所说,我遵循了这一点


这个过程并没有完全按照所描述的那样进行(这也是我最初发表文章的原因),但它仍然有效(请参阅我文章中的更新部分)。

在Windows上

0)关闭服务
mysql56

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

2) 查找文件
my.ini
,打开它并在
[mysqld]
下面添加一行
跳过授权表
,保存

[mysqld]

skip-grant-tables
[mysqld]

skip-grant-tables
3) 启动服务
mysql56

4) 在右边,您可以访问数据库,运行
mysql

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

update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
注意:对于较新版本,请使用
身份验证\u字符串
而不是
密码

6) 再次关闭服务,删除行
跳过授权表
保存它,然后再次启动服务。尝试使用设置为登录的密码


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('NEW PASSWORD') where user='root';
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权限

5) 运行
\q
退出

6) 启动mysql服务器

sudo /usr/local/mysql/support-files/mysql.server start

以防您安装了Xampp

  • 转到C:\xampp\mysql\bin
  • 打开my.ini文件
  • [mysqld]
  • 转到windows服务并停止mysql服务
  • 从命令提示符
    C:\xampp\mysql\bin\mysql
  • 现在,使用MySQL查询重置root密码
    updatemysql.user set password=password('root'),其中user='root'
  • 退出命令提示符
  • 重新启动在步骤4中关闭的mysql windows服务
  • 现在,您将能够以root用户身份使用密码登录mysql
  • 更新MySQL 5.7上的更改:

    0)关闭服务
    mysql57

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

    2) 查找文件
    my.ini
    ,打开它并在
    [mysqld]
    下面添加一行
    跳过授权表
    ,保存

    [mysqld]
    
    skip-grant-tables
    
    [mysqld]
    
    skip-grant-tables
    
    3) 启动服务
    mysql57

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

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

    update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';
    
    UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
    
    update mysql.user set authentication_string=password('NEW_password'),其中user='root'

    6) 再次关闭服务,删除行
    跳过授权表
    保存它,然后再次启动服务。尝试使用设置为登录的密码。

    • 进入管理工具>服务停止Mysql服务
    • 打开开始>运行>命令(以管理员身份运行)
    • 使用以下行手动启动服务器:

      mysqld -P3306 --skip-grant-tables
      
    • 在新cmd(以管理员身份运行)中执行:

      mysql -P3306 mysql
      
    • 在mysql客户端中执行以下查询:

      update mysql.user set authentication_string=password('new_password') where user='root';
      

    就这样

    对于Windows上的MySQL 5.6,我必须运行此语句才能使其正常工作

    UPDATE mysql.user
    SET Password=PASSWORD('NEW PASSWORD'), 
    authentication_String=PASSWORD('NEW PASSWORD')
    WHERE User='root';
    
    首先停止mysql服务器并执行以下步骤: 转到cmd i上的mysql-bin目录,例如<代码>cd C:\ProgramData\MySQL\MySQL服务器5.6\bin
    (它是一个隐藏目录)

    跳过授权表将允许您进入mysql
    • mysqld.exe--跳过授权表
    打开新命令提示符或在同一命令提示符下打开
    • mysql.exe-uroot-p
      (无需任何密码即可登录mysql)
    运行下面的查询以更改mysql根密码
    • updatemysql.user set password=password('root password'),其中user='root'
    • flush特权

    就这样,重新启动mysql,很好地使用新密码 不编辑mi.ini:

    service mysql stop
    mysqld_safe --skip-grant-tables
    
    在单独的ssh会话上:

    update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';
    

    无需刷新权限,如果出现以下错误,只需重新启动服务器即可:
    mysqld\u UNIX套接字文件的安全目录'/var/run/mysqld'不存在。
    尝试重置根密码时。您可以尝试:

    sudo服务mysql停止
    sudomkdir-p/var/run/mysqld
    sudo chown mysql:mysql/var/run/mysqld
    sudo服务mysql停止
    sudo mysqld_safe——跳过授权表和
    mysql-uroot
    更新mysql.user set authentication_string=password(“您的_密码”),其中user='root';
    同花顺特权;
    退出
    sudo killall mysql
    sudo服务mysql启动
    mysql-u root-pyour\u密码
    
    在运行于Ubuntu 18.04的MySQL 5.7中测试


    @拉迪卡先生-我把它作为更新发布。