Xammp MySQL错误“Bad file descriptor from storage engine MyISAM”

um6iljoc  于 2023-05-16  发布在  Mysql
关注(0)|答案(5)|浏览(230)

我得到这个错误在我的phpmyadmin后,最近安装新的本地xammp服务器。有人能帮忙吗?

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)
n6lpvg4x

n6lpvg4x1#

您可以运行此可执行文件:mysql_upgrade.exe位于此文件夹中:XAMPP/mysql/bin..我试过这个,它工作。

yb3bgrhw

yb3bgrhw2#

我最近也在一个新安装上收到了这个。
1.从XAMPP或命令行启动MySQL
1.打开命令行[Windows] + [r],键入“cmd”按[enter]

  1. cd \xampp\mysql\bin
  2. mysql_upgrade.exe
    我发现当我从MySQL服务器做几个mysqldump并将它们导入MariaDB时会发生这种情况。更新将检查所有的mysql数据库,修复表的权限,修复表和数据库的名称,升级表,刷新。
yrefmtwq

yrefmtwq3#

我尝试mysql_upgrade.exe即使与管理员previlage但ot不会工作。对我来说,下面的步骤工作,但我必须这样做,每天当我开始工作的localhost。
1.将文件夹mysql/data重命名为mysql/data_old
1.复制mysql/backup文件夹并命名为mysql/data
1.将所有数据库文件夹从mysql/data_old复制到mysql/data(mysql、performance_schema和phpmyadmin文件夹除外)
1.将mysql/data_old/ibdata 1文件复制到mysql/data文件夹
1.从XAMPP控制面板启动MySQL

wlsrxk51

wlsrxk514#

此解决方案作为管理员mysql_upgrade.exe运行,位于此文件夹中:XAMPP/mysql/bin..我试过这个,它工作。

wixjitnu

wixjitnu5#

我尝试了这里发布的解决方案,但它不起作用(可能是由于Windows和MariaDB)。我决定做一个“快速和肮脏”的修复。
我导航到我的xampp文件夹,然后选择/phpmyadmin/libraries/dbi/
打开DBIMysql.class.php -搜索

if (! $server)

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

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

保存文件并使用控件重新启动MySQL(别名MariaDB)。基本上,它只是覆盖了变量user和password --似乎新的MariaDB在接收该类中的密码和用户名时有问题。在我这样做之后,没有再发生错误。
但正如我所提到的,要小心,因为这是一个非常肮脏的修复。

相关问题