1.3. Direct Connection to MySQL Server


This section describes how to setup direct connection to your MySQL server.

Store Manager for VirtueMart requires direct MySQL database connection. Most of hosting companies allow direct connections to MySQL database. However, in most cases, you have to go to your control panel and add your home/office computer IP address or domain name to Access List - list of IP addresses allowed to access MySQL port 3306 from outside. This option can be found under MySQL settings.

Feel free to ask your hosting support to assist you in enabling direct MySQL access, they must help you since it is a common task.

To configure a direct connection to your remote database, follow few steps:

1. Open Settings -> Preferences -> Database Connection tab

2. Enable Direct connection to your store database checkbox

Direct type of connection

3. Specify the following Remote (Direct) Database Connection Settings:

  • Host (Server address) - Usually it is your website name like "mywebsite.com" or "servername.com" (do not include http://www. prefix); you may use IP address as well. Please check your store server parameters (see global.inc.php, most likely you can find it at your store /includes directory). There you can find your database server name (host).

$glob['dbhost'] = 'servername.com';

If any is defined here (like 'http://www.servername.com'), you should use the one (servername.com).

If it is defined as 'localhost', it means you should use your store name.

  • Port - 3306 is used in most cases (please ask your hosting provider to check if the one is used).

  • MySQL Version - Most of hosting companies have 4.1 or 4.0 and some of them have 5.x version. You can use Auto if you're not sure which one is used.

  • User name (login), Password and Database (name) - Specify your username, password and database name. You can find them at the bottom of global.inc.php file:

$glob['dbdatabase'] = 'remote_database_name'; //your database name is defined here

$glob['dbpassword'] = 'password'; //your password is defined here

$glob['dbusername'] = 'username'; //your User Name (login) is defined here

You may type database name manually or use the [Select Database] button to see the list of available databases and select the one you need from the drop-down.

Tip: Use the [Test Connection] button to verify if all settings are correct and connection to your remote database is possible.

4. Click [OK] to save this entry, close Preferences and to connect to your database, or click cancel to discard this entry.

If you're unable to connect to the remote database, here are few key items to check.

If you got "SQL ERROR: Access denied for user 'admin'@'' (using Password: YES)" notification (where 'admin' is your username and '' is your IP) you have to add your IP address to the Access List and allow direct MySQL connections. Please see an article to find out how to add your IP to the Access List.