Xammp MySQL 错误

问题描述 投票:0回答:6

最近安装新的本地 xammp 服务器后,我的 phpmyadmin 中出现此错误。任何人都可以帮助解决这个问题吗?

Warning in .\libraries\dbi\DBIMysqli.class.php#261
 mysqli_query(): (HY000/1030): Got error 9 "Bad file descriptor" from storage engine MyISAM

Backtrace

.\libraries\dbi\DBIMysqli.class.php#261: mysqli_query(
object,
string 'SELECT * FROM `mysql`.`db` LIMIT 1',
integer 0,
)
.\libraries\DatabaseInterface.class.php#246: PMA_DBI_Mysqli->realQuery(
string 'SELECT * FROM `mysql`.`db` LIMIT 1',
object,
integer 0,
)
.\libraries\check_user_privileges.lib.php#46: PMA_DatabaseInterface->tryQuery(string 'SELECT * FROM `mysql`.`db` LIMIT 1')
.\libraries\check_user_privileges.lib.php#395: PMA_checkRequiredPrivilgesForAdjust()
.\libraries\List_Database.class.php#17: require_once(.\libraries\check_user_privileges.lib.php)
.\libraries\PMA.php#17: require_once(.\libraries\List_Database.class.php)
.\libraries\common.inc.php#1089: include_once(.\libraries\PMA.php)
.\tbl_structure.php#14: require_once(.\libraries\common.inc.php)
mysql phpmyadmin xampp
6个回答
35
投票

You can run this executable file:

mysql_upgrade.exe
which is located inside this folder:
XAMPP/mysql/bin
..我试过了,它成功了。


4
投票

我最近在全新安装时也收到了这个。

  1. 从 XAMPP 或命令行启动 MySQL
  2. 打开命令行[Windows] + [r],输入“cmd”按[enter]
  3. cd \xampp\mysql 进入
  4. mysql_upgrade.exe

我发现这是在我从 MySQL 服务器执行多个 mysqldump 并将它们导入 MariaDB 时发生的。该更新将检查您所有的 mysql 数据库、修复表权限、修复表和数据库名称、升级表和刷新。


1
投票

我尝试了此处发布的解决方案,但它不起作用(可能是由于 Windows 和 MariaDB)。我决定做一个“快速而肮脏”的修复。

我导航到我的 xampp 文件夹,然后 /phpmyadmin/libraries/dbi/

打开 DBIMysql.class.php - 搜索

if (! $server)

应该在138行左右,在if语句之前插入

$user = "your phpmyadmin username";
$password = "your phpmyadmin password";

保存文件,使用控件重启MySQL(别名MariaDB)。基本上它只是覆盖了变量用户和密码——似乎新的 MariaDB 在接收该类中的密码和用户名时遇到了问题。在我这样做之后,没有再发生错误。

但是正如我提到的:要小心,因为这是一个非常肮脏的修复;)

希望对您有所帮助:)


1
投票

这个以管理员身份运行的解决方案 mysql_upgrade.exe 位于这个文件夹内:XAMPP/mysql/bin..我试过这个并且它有效。 Deepesh 特里帕蒂


0
投票

我尝试了 mysql_upgrade.exe,即使有管理员特权,但还是不行。 对我来说,以下步骤有效 但是当我开始在本地主机上工作时,我必须每天都这样做。

  1. 将文件夹 mysql/data 重命名为 mysql/data_old
  2. 复制 mysql/backup 文件夹并将其命名为 mysql/data
  3. 将所有数据库文件夹从 mysql/data_old 复制到 mysql/data(mysql、performance_schema 和 phpmyadmin 文件夹除外)
  4. 复制 mysql/data_old/ibdata1 文件到 mysql/data 文件夹
  5. 从 XAMPP 控制面板启动 MySQL

-1
投票

vWarning in .\librarie

© www.soinside.com 2019 - 2024. All rights reserved.