HYQ / 2003错误使用mysqli连接localhost或127.0.0.1

时间:2016-04-12 22:49:00

标签: php mysql mysqli wamp

我正在写一个连接到WAMP数据库的php页面。

我有以下代码:

$servername = "127.0.0.1";
$username = "root";
$password = "";

// connect to database
$conn = new mysqli($servername, $username, $password); //error line (1)
$sql = "USE xdbl0zz14_biodiversity"; 
$conn->query($sql); //error line (2)

错误行(1)给出以下错误:

Warning: mysqli::mysqli(): (HY000/2003): Can't connect to MySQL server on '127.0.0.1' (111)

错误行(2)给出以下错误:

Warning: mysqli::query(): Couldn't fetch mysqli

但我认为这是之前错误的直接结果。

我查看了services.msc并启动了wampmysqld64服务。

提前谢谢。

修改

mysql日志显示:

2016-04-05T12:05:50.193100Z 0 [Warning] InnoDB: Resizing redo log from      2*3072 to 2*320 pages, LSN=2471251
2016-04-05T12:05:50.380111Z 0 [Warning] InnoDB: Starting to delete and rewrite log files.
2016-04-05T12:05:51.310164Z 0 [Warning] InnoDB: New log files created, LSN=2471251
2016-04-12T11:10:57.423304Z 0 [Warning] wampmysqld64: Forcing close of thread 2  user: 'root'

2016-04-12T22:34:23.288955Z 0 [Warning] wampmysqld64: Forcing close of thread 2  user: 'root'

1 个答案:

答案 0 :(得分:0)

鉴于信息,我最好的猜测是mysqld由于某些内部错误而无法启动,可能是由于某些InnoDB数据文件损坏。如果数据是有价值的(例如,没有备份,或者加载时间太长),我会尝试在mysqld和{{1}的帮助下找出strace进程正在执行的操作然后从那里开始。

否则,我会关闭mysqld进程(gdb如果顽固),清除MySQL数据目录中的所有InnoDB文件(通常是kill -9)加上现有InnoDB的所有/var/lib/mysql文件表,并尝试正常重启MySQL服务,然后从备份加载数据库。