代码如下:
<?php
$mysqli = new mysqli('localhost', 'root', '184995511', 'cg_levi');
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
};
echo 'ok';
查看了hosts没有问题,如下:
127.0.0.1 localhost
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
/etc/hosts (END)
查看mysql状态,没有问题,如下:
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.6.10, for Linux (x86_64) using EditLine wrapper
Connection id: 860
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.6.10 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 13 hours 13 min 50 sec
Threads: 1 Questions: 11900 Slow queries: 0 Opens: 100 Flush tables: 1 Open tables: 80 Queries per second avg: 0.249
--------------
请问如何解决?
1.使用TCP/IP代替Unix socket。即在连接的时候将localhost换成127.0.0.1。
2.修改MySQL的配置文件my.cnf,指定mysql.socket的位置:
/var/lib/mysql/mysql.sock (你的mysql.socket路径)
。
3.直接在php建立连接的时候指定my.socket的位置(官方文档:mysqli_connect)。比如:
$db = new MySQLi('localhost', 'root', 'root', 'my_db', '3306', '/var/run/mysqld/mysqld.sock')
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。