我成功地在本地主机xampp上重新设置了我的根密码。现在,当我自己运行mysql守护进程( XAMPP/mysql/bin/mysqld.exe )时,我可以使用PHPMyAdmin登录到MySQL管理,没有问题。
但是,当我从XAMPP的控制面板(带有开始/停止等按钮的“好”窗口)运行MySQL时
我不能再通过PHPMyAdmin登录了-我得到了错误#1045.
这一定是和配置有关的?是什么导致了这一切?
非常感谢:)
发布于 2014-11-03 23:07:24
看起来,xampp中的mysql守护进程对于basedir的默认值与my.ini设置文件不同。
因此,当我重新设置密码而没有添加与运行mysqld时XAMPP相同的--defaults-file时,我实际上为不同的“工作区”重新设置了密码。
感谢 @andy,因为他的评论让我找到了解决方案:)
因此,重置XAMPP的MySQL根用户(在Windows上)的正确方法是:
1)用XAMPP控件停止MySQL
2)准备init文件
在mysql-init.txt驱动器上直接创建名为C:\的文件,并填充以下内容:
#INSERT INTO mysql.user (User,Password) VALUES('root',PASSWORD('root'));
UPDATE mysql.user SET Password=PASSWORD('root') WHERE User='root';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost';
FLUSH PRIVILEGES;#是一个注释--如果您没有根用户或者意外地删除了它--取消对第一行的注释,然后注释第二行。这些命令创建一个MySQL 用户 "root“,其中包含密码 "root”,给他/她在everything上的所有特权。
3)使用适当的params运行MySQL守护进程
使用以下参数运行YOUR_XAMPP_INSTALL\mysql\bin\mysqld.exe:
注意双斜杠"\“而不是单斜杠"\"
--defaults-file="c:\\YOUR_XAMPP_INSTALL\\mysql\\bin\\my.ini"
--init-file=C:\\mysql-init.txt因此,用于cmd.exe的整个命令可以如下所示:
c:\YOUR_XAMPP_INSTALL\mysql\bin\mysqld.exe --defaults-file="c:\\YOUR_XAMPP_INSTALL\\mysql\\bin\\my.ini" --init-file=C:\\mysql-init.txt当然,用自定义xampp安装的路径替换YOUR_XAMPP_INSTALL (通常只是"xampp“resp )。"C:\xampp")当然,如果您在与"C“不同的驱动器上操作,请将C:\更改为WhatEverLetterYouWant:\
4)尝试在http://localhost/phpmyadmin/上登录
尝试使用用户根和密码根在http://localhost/phpmyadmin/上登录,如果它不能工作,您在前面的三个步骤中做了一些错误。
( 5) 4)好吗?=> Stop MySQL与XAMPP控件
6)使用XAMPP控件启动MySQL
7)再次尝试使用root/root登录
7)好吗?=>完成了:)
参考资料:
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
https://stackoverflow.com/questions/26722102
复制相似问题