2

我正在尝试将在我的机器上运行的 wordpress 连接到在我的机器(localhost)上通过隧道连接的远程 mysql 数据库。数据库连接通过向mysqlCLI 客户端提供以下参数来工作

$ 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)

wp-config.phpwordpress 文件中,我尝试了以下值:

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 作为mysqlCLI 客户端连接到数据库?

4

2 回答 2

4

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

define('DB_HOST', '127.0.0.1');  // forces TCP
于 2012-07-31T15:32:43.747 回答
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);

数据库连接成功:)

于 2012-07-31T16:20:41.273 回答