我正在写一个连接到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'
答案 0 :(得分:0)
鉴于信息,我最好的猜测是mysqld由于某些内部错误而无法启动,可能是由于某些InnoDB数据文件损坏。如果数据是有价值的(例如,没有备份,或者加载时间太长),我会尝试在mysqld
和{{1}的帮助下找出strace
进程正在执行的操作然后从那里开始。
否则,我会关闭mysqld进程(gdb
如果顽固),清除MySQL数据目录中的所有InnoDB文件(通常是kill -9
)加上现有InnoDB的所有/var/lib/mysql
文件表,并尝试正常重启MySQL服务,然后从备份加载数据库。