在MySQL 5.6中重置根密码
我一直在遵循重置Windows 7笔记本电脑上本地安装MySQL 5.6的root密码 我停止了服务,创建了init文件,并以管理员身份运行了以下命令: 我收到了以下警告: 2014-02-08 15:44:10 0[警告]带有隐式默认值的时间戳 不推荐使用。请使用--explicit\u defaults\u作为\u时间戳服务器 选项(有关更多详细信息,请参阅文档) 因为这是一个警告,所以我不确定是否需要修复任何东西,然后重新执行该过程 当前,“命令”窗口仍处于打开状态,不接受任何输入。我应该强制关闭它,还是我可以做些什么来优雅地完成这个过程 更新 我关闭了命令窗口并尝试重新启动服务。有个错误 重新启动Windows并自动启动服务。新的在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时间戳服务器 选项(有关更多详细信息,请参阅文档) 因为这是一个警告,所以我不确定是否需要修复任何东西,然后重新执行该过程 当前,“命令”窗口仍处于打开状态,不接受任何输入。我应该
根密码
似乎有效。我成功地使用了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中测试
@拉迪卡先生-我把它作为更新发布。