草庐IT

mysql - 为 WAMP 上的 PHPMyAdmin 重新获得丢失的 MySQL 密码

coder 2023-10-02 原文

我在 PHPMyAdmin 中更改了我的 'root'@'localhost' 帐户的密码等 ( this person asking here ) 并将自己锁定在我的浏览器上的 PHPMyAdmin 之外。我正在使用 WAMP 2.5。

针对该问题提供的解决方案对我不起作用,因为不幸的是我丢失了我重新分配给 root 的密码。

一些解决方案要求通过命令行 ( including this source ) 重置密码,我已经通过 Windows 命令行尝试过但没有成功,因为我现在没有权限:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mynewpassword');

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

WAMP 带有一个 MySQL 控制台,但我无法使用它,因为它提示我输入密码,正如我所说,我已经没有密码了。

This video explains how to change passwords ,它与上面 StackExchange 答案中的答案一致,但显然,我现在需要另一种方法来执行此操作,因为我不知道我会像那个人警告的那样失去访问权限。

如果这是新手要问的问题,我将不胜感激,并表示歉意。我刚刚掌握了使用堆栈进行 Web 开发的窍门,通过 WAMP 配置对 LAN 站点的访问是一次冒险,所以如果可能的话,我更喜欢不需要重新安装所有东西的东西。

编辑 1:继续尝试@RiggsFolly 的解决方案。虽然我可以访问 my.ini 文件,毫无问题地进行更改,并通过 WAMP 或其他方式毫无问题地重新启动 MySQL,但行 skip-grant-tables 没有生效,给我留下密码提示或无法执行任何操作。 (我在这里写了一个新问题来解决这个问题,因为我觉得这是一个不同的问题。)

编辑 2:我尝试了评论中@t.niese 提供的链接中的说明,当我将控制台设置为返回对说明的反馈时,它报告了这一点,但未能更改任何东西:

C:\wamp\bin\mysql\mysql5.6.17\bin>mysqld --skip-grant-tables --console
[Note] Plugin 'FEDERATED' is disabled.
[Note] InnoDB: Using atomics to ref count buffer pool pages
[Note] InnoDB: The InnoDB memory heap is disabled
[Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
[Note] InnoDB: Compressed tables use zlib 1.2.3
[Note] InnoDB: Not using CPU crc32 instructions
[Note] InnoDB: Initializing buffer pool, size = 128.0M
[Note] InnoDB: Completed initialization of buffer pool
[ERROR] InnoDB: .\ibdatai can't be opened in read-write mode
[ERROR] InnoDB: The system tablespace must be writabe!
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
[Note] /* List of plugins shutting down */

最佳答案

这里有一个方法可以让您非常简单地重置 MYSQL 的“root”密码。

停止mysql服务

wampmanager -> MySQL -> Service -> Stop Service

编辑 my.ini 文件

wampmanager -> MySQL -> my.ini

在ini文件中找到[wampmysqld](32bit)或[wampmysqld64](64bit)部分

直接在该节标题之后添加这一行

skip-grant-tables

重启mysql服务

wampmanager -> MySQL -> Service -> Start/Resume Service

打开MySQL控制台

wampmanager -> MySQL -> MySQL Console

现在我们要重置root用户的密码,当然这可以用来重置任何用户的密码。

mysql> 命令提示符下输入以下 2 条命令,每条命令在一行末尾有一个分号,并在每行后按 ENTER 向 mysql 发出命令。

MYSQL 5.7 版之前

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

MYSQL 5.7 版后列名称已更改

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

请注意,更新可能会报告它更新了不止一行,因为可能有多个用户帐户的用户 ID 为“root”,每个帐户都有不同的域,即 127.0.0.1、localhost 和::1

现在在 mysql 命令提示符下输入 'quit' 以退出 mysql。

停止mysql服务

wampmanager -> MySQL -> Service -> Stop Service

编辑 my.ini 文件

wampmanager -> MySQL -> my.ini

在ini文件中找到[wampmysqld](32bit)或[wampmysqld64](64bit)部分

删除我们之前添加的 skip-grant-tables 参数。

不要将此参数留在 ini 文件中,这是一个很大的安全漏洞。

重启mysql服务

wampmanager -> MySQL -> Service -> Start/Resume Service

现在,如果你愿意,你可以设置 root 用户帐户,这样它就不会自动使密码过期

wampmanager -> MySQL -> MySQL Console

然后运行这个查询

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

您现在应该能够使用用户 ID“root”和刚刚为该用户设置的新密码登录 phpmyadmin。

关于mysql - 为 WAMP 上的 PHPMyAdmin 重新获得丢失的 MySQL 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070501/

有关mysql - 为 WAMP 上的 PHPMyAdmin 重新获得丢失的 MySQL 密码的更多相关文章

  1. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  2. ruby-on-rails - active_admin 目录中的常量警告重新声明 - 2

    我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA

  3. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  4. ruby-on-rails - openshift 上的 rails 控制台 - 2

    我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新ruby​​gems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems

  5. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  6. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  7. ruby - 在 Ruby 中重新分配常量时抛出异常? - 2

    我早就知道Ruby中的“常量”(即大写的变量名)不是真正常量。与其他编程语言一样,对对象的引用是唯一存储在变量/常量中的东西。(侧边栏:Ruby确实具有“卡住”引用对象不被修改的功能,据我所知,许多其他语言都没有提供这种功能。)所以这是我的问题:当您将一个值重新分配给常量时,您会收到如下警告:>>FOO='bar'=>"bar">>FOO='baz'(irb):2:warning:alreadyinitializedconstantFOO=>"baz"有没有办法强制Ruby抛出异常而不是打印警告?很难弄清楚为什么有时会发生重新分配。 最佳答案

  8. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  9. ruby-on-rails - Ruby - 如何从 ruby​​ 上的 .pfx 文件中提取公钥、rsa 私钥和 CA key - 2

    我有一个.pfx格式的证书,我需要使用ruby​​提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o

  10. ruby - 将全局 $stdout 重新分配给控制台 - ruby - 2

    我正在尝试将$stdout设置为临时写入一个文件,然后返回到一个文件。test.rb:old_stdout=$stdout$stdout.reopen("mytestfile.out",'w+')puts"thisgoesinmytestfile"$stdout=old_stdoutputs"thisshouldbeontheconsole"$stdout.reopen("mytestfile1.out",'w+')puts"thisgoesinmytestfile1:"$stdout=old_stdoutputs"thisshouldbebackontheconsole"这是输出。r

随机推荐