Php HY000/2003在本地主机或127.0.0.1上使用mysqli连接时出错
我正在编写一个连接到WAMP上数据库的php页面 我有以下代码:Php HY000/2003在本地主机或127.0.0.1上使用mysqli连接时出错,php,mysql,mysqli,wamp,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
$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)
Warning: mysqli::query(): Couldn't fetch mysqli
错误行(2)给出以下错误:
Warning: mysqli::mysqli(): (HY000/2003): Can't connect to MySQL server on '127.0.0.1' (111)
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'
根据这些信息,我最好的猜测是mysqld由于一些内部错误而无法启动,可能是由于一些InnoDB数据文件损坏。如果数据是有价值的(例如,没有备份,或者加载时间太长),我会尝试在
strace
和gdb
的帮助下弄清楚mysqld
进程在做什么,然后从那里开始
否则,我会关闭mysqld进程(
kill-9
,如果顽固),清除MySQL数据目录中的所有InnoDB文件(通常是/var/lib/MySQL
)以及现有InnoDB表的所有.frm
文件,然后尝试正常重启MySQL服务,然后从备份加载数据库 MySQL日志中是否有任何东西表明它无法启动?您没有选择database@Fred-ii-虽然这样做有点奇怪,但这不是使用xdbl0zz14_
应该做的吗?将'127.0.0.1'
更改为'localhost'
,看看它是否有效。@miken32“无法通过套接字'/var/lib/MySQL/MySQL.sock'连接到本地MySQL服务器”(2)“Instedi在services.msc中停止了两个wamp服务,并退出了wamp。然后我删除了auto.cnf、ib_logfile0、ib_logfile1、ibdata1、ibtmp1和一个.pid文件。这就是您的意思吗?在重新启动wamp时,返回所有文件并生成相同的错误?干杯。是的,这是正确的程序。您是否在同一台主机上运行Mysql客户端和服务器?如果是的话,Windows客户端会在Unix风格的路径(/var/lib/mysql/mysql.sock)中查找套接字,这是相当奇怪的,正如在另一条评论中所观察到的。是的,php页面和wamp服务器都是在同一台机器上运行的,我同意这有点奇怪。