I am trying to connect wordpress running on my machine to a remote mysql database which is tunneled on my machine(localhost). The database connection works by giving following parameters to mysql
CLI client
$ 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)
In wp-config.php
file of wordpress, I have tried the following values:
define('DB_NAME', 'db_name');
define('DB_USER', 'username');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');
define('DB_PORT', 10000);
this doesn't work & throws the following error:
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
the last line in the above error(Can't connect to local MySQL server through socket
) is gives it away why the connection fails as wordpress is trying to connect through an unix socket.
Now, what parameters I need to set to be able to get wordpress to connect to database way as mysql
CLI client?
i was able to connect using the following settings in
wp-config.php
.the database connection was successful :)
Check this out: http://chxo.com/be2/20040511_5667.html
Explains it all very well (didn't see the point re-iterating what it says, this is where i went when i needed to do it).
If you want to connect via TCP instead of the Unix socket, try changing the host from
localhost
, to127.0.0.1
.