强制wordpress通过TCP连接到数据库

时间:2012-07-31 15:29:57

标签: php mysql wordpress

我正在尝试将在我的机器上运行的wordpress连接到远程mysql数据库,该数据库通过我的机器(localhost)进行隧道传输。数据库连接通过向mysql CLI客户端

提供以下参数来工作
$ mysql --protocol=TCP -P 10000 -h localhost -u username -p'password' db_name

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 93438893
Server version: 5.5.8-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+-----------------------------------+
| Database                          |
+-----------------------------------+
| information_schema                |
| db_name                           |
+-----------------------------------+
2 rows in set (1.38 sec)

在wordpress的wp-config.php文件中,我尝试了以下值:

define('DB_NAME', 'db_name');
define('DB_USER', 'username');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');
define('DB_PORT', 10000);

这不起作用&抛出以下错误:

Warning: include(/home/gaurish/Dropbox/code/projects/blog/wp-content/advanced-cache.php): failed to open stream: No such file or directory in /home/gaurish/Dropbox/code/projects/blog/wp-settings.php on line 62 
Warning: include(): Failed opening '/home/gaurish/Dropbox/code/projects/blog/wp-content/advanced-cache.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/gaurish/Dropbox/code/projects/blog/wp-settings.php on line 62 
Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/gaurish/Dropbox/code/projects/blog/wp-includes/wp-db.php on line 1038

上述错误(Can't connect to local MySQL server through socket)中的最后一行是为什么连接失败,因为wordpress试图通过unix套接字连接。

现在,我需要设置哪些参数才能将wordpress连接到数据库方式mysql CLI客户端?

3 个答案:

答案 0 :(得分:3)

如果您想通过TCP而不是Unix套接字进行连接,请尝试将主机从localhost更改为127.0.0.1

define('DB_HOST', '127.0.0.1');  // forces TCP

答案 1 :(得分:3)

我能够使用wp-config.php中的以下设置进行连接。

define('DB_NAME', 'db_name');
define('DB_USER', 'username');
define('DB_PASSWORD', 'password');
define('DB_HOST', '127.0.0.1:10000');
define('DB_PORT', 10000);

数据库连接成功:)

答案 2 :(得分:0)

检查出来:http://chxo.com/be2/20040511_5667.html

很好地解释了这一点(没有看到重复它所说的内容,这是我需要的时候去的地方)。