mysql - xampp控制运行mysql时无法登录mysql

标签 mysql phpmyadmin xampp

我已成功在本地主机 xampp 上重置了 root 密码。现在,当我自己运行 mysql 守护进程(XAMPP/mysql/bin/mysqld.exe)时,我可以使用 PHPMyAdmin 登录 MySQL 管理,没有任何问题。

但是,当我从 XAMPP 的控制面板(带有启动/停止等按钮的“漂亮”窗口)运行 MySQL 时
我无法再通过 PHPMyAdmin 登录 - 我收到错误 #1045...

这一定是与配置相关的东西?可能是什么原因造成的?

非常感谢:)

最佳答案

似乎xampp中的mysql守护进程的basedir默认值与my.ini设置文件不同。

因此,当我重置密码而不添加与 XAMPP 运行 mysqld 时相同的 --defaults-file 时 - 我实际上为不同的“工作空间”重置了密码。

感谢@andy,因为他的评论引导我找到了解决方案:)

因此,重置 XAMPP 的 MySQL root 用户(在 Windows 上) 的正确方法是:

1) 使用 XAMPP 控制停止 MySQL

2) 准备初始化文件

直接在C:\驱动器上创建名为mysql-init.txt的文件,并用以下内容填充它:

#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;

- # 是注释 - 如果您没有 root 用户或意外删除了它 - 取消注释第一行并注释第二行

这些命令创建一个 MySQL 用户 “root”,使用密码 “root”给出他/她对一切拥有所有权限

3) 使用正确的参数运行 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

当然,请将 YOUR_XAMPP_INSTALL 替换为自定义 xampp 安装的路径(通常只是“xampp”或“C:\xampp”)。当然,如果您在与“C”不同的驱动器上运行,请将 C:\ 更改为 WhatEverLetterYouWant:\

4) 尝试登录 http://localhost/phpmyadmin/

尝试使用用户root和密码root登录http://localhost/phpmyadmin/,如果不起作用,您在前 3 个步骤中做错了什么

5) 4) 进展顺利吗? => 使用 XAMPP 控制停止 MySQL

6) 使用XAMPP控制启动MySQL

7) 尝试使用 root/root 再次登录

8) 7) 进展顺利吗? => 完成:)


引用文献:

http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql

关于mysql - xampp控制运行mysql时无法登录mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26722102/

相关文章:

php - 不止一步的foreach循环

mysql - centos7安装mysql出错(没有mysql-community-server包可用)

mysql - phpmyadmin 2002 错误,mysql.sock.lock 似乎已经取代了 mysql.sock 文件

mysql - mysql 数据库访问被拒绝

wordpress - 为什么 PHP 选项没有显示在 PhpStorm 的语言和框架中?

php - "Fatal error: Class ' Memcached ' not found"尝试在 Ubuntu 中安装 Memcache 时

php - 如何配置 laravel 以在主机 One.com 上使用

mysql - 使用 SQL WHERE IN 比较查询时始终为 true 的表达式是什么

mysql - 查询更新列数据

php - mysql_query(INSERT ...) 函数在我的代码中不起作用