If you need multiple WordPress instances, there are three types of installations based on system architecture, or a combination of WordPress instances and databases:
- WordPress Multisite feature: a single WordPress instance (with multiple sites created within the same WP instance) sharing a single database instance.
- Single Database: multiple WordPress instances sharing a single database instance.
- Multiple Databases: multiple WordPress instances with each instance using its own databases instance.
Let’s first look at the third type, multiple WordPress instances with multiple databases, because it has the same installation process as the single WordPress site except there are multiple sites.
The wp-config.php file will vary for each installation. The lines to change are the following:
define('DB_NAME', 'wordpress'); // The name of the database define('DB_USER', 'username'); // Your MySQL username define('DB_PASSWORD', 'password'); // ... and password
DB_NAME is the name of the individual database created for that blog. If you are using different user logins for each database, edit
DB_PASSWORD to reflect this as well.
If you want multiple sites to use WordPress, you can use the multisite feature to create what is referred to as a network of sites. The multisite feature involves installing a single WordPress instance and a single database.
The multisite feature appears to be simpler than other types of multiple WordPress installations, but there are some considerations and restrictions. Refer to the following documents for more detailed information:
As with the multiple-database solution described above, the wp-config.php file will vary for each installation. In this case, however, only a single line is unique to each blog:
$table_prefix = 'wp_'; // example: 'wp_' or 'b2' or 'mylogin_'
By default, WordPress assigns the table prefix
wp_ to its MySQL database tables, but this prefix can be anything you choose. This allows you to create unique identifiers for each blog in your database. For example, let’s say you have three blogs to set up, with the names Main, Projects, and Test. You should substitute the prefix
wp_ in each blog’s
$table_prefix = 'main_';
$table_prefix = 'projects_';
$table_prefix = 'test_';
As noted, you may use a prefix of your own making. Those provided here are for example only.
You can use the same userbase for all your blogs on the same domain by defining the
CUSTOM_USER_TABLE and optionally the
CUSTOM_USER_META_TABLE constants to point to the same
See Editing wp-config.php/Custom User and Usermeta Tables.