A bit help needed with setting up Multi-DB

Hello everyone

Finally I decided to use your Multi-DB plugin. I'm not a pro but I did my best to understand the whole procedure.

Can you, please, review my description and tell me if I did something stupid before I run this on live site? I'm afraid to break my site so I thought I'll ask here first...

I decided to go with 16 databases option.
I'm on HSphere server if this matters.
First of all I created 18 databases.
Interesting thing here is that HSphere creates database names using account username, and it won't allow a second underscore in database names. So I ended up with the following databases:

user_wpmu0
user_wpmu1
...
user_wpmuf
user_wpmuglobal
user_wpmuvip1

Now I started configuring move-blogs.php

//DB Settings
$dbname = "user_wpmu"; - my old WPMU database name here, right?
$blog_table_prefix = 'wp_'; - I don't change anything here, right?
$newdb_prefix = 'user_'; - I'm stuck here. Based upon the list of DBs above, can you tell me if I should type in 'user_' or something else?

//We need info to connect to the databases
$dbhost = 'localhost'; - my database server, I can also type 127.0.0.1 right?
$dbuname = ''; - username of old DB or of new DBs I have created?
$dbpass = ''; - same question as above: pass to old DB or to new DBs?

After this I switch to db-config.php

Here is what I typed in.

add_dc_ip('127.0.0.1', 'dc1'); - I guess it's correct

add_global_table('user_wpmuglobal'); - is this correct?

add_db_server('global', 'dc1', 1, 1,'127.0.0.1','127.0.0.1', 'wpmuglobal', 'user', 'pass'); - I use users and passes of new DBs here and below

add_db_server('0', 'dc1', 1, 1,'127.0.0.1','127.0.0.1', 'wpmu0', 'user', 'pass');
add_db_server('1', 'dc1', 1, 1,'127.0.0.1','127.0.0.1', 'wpmu1', 'user', 'pass');
...
add_db_server('f', 'dc1', 1, 1,'127.0.0.1','127.0.0.1', 'wpmuf', 'user', 'pass');

add_db_server('vip1', 'dc1', 1, 1,'127.0.0.1','127.0.0.1', 'wpmuvip1', 'user', 'pass');

Main question about above settings. Should there be 'wpmu0 ... wpmuf' or 'user_wpmu0 ... user_wpmuf' used?

That's it. I don't want to move main blog into separate DB so I guess I may exclude everything with wpmuvip1. Or should I leave it?

Now my understanding is that I upload db.php and db-config.php files into /wp-content/, move-blogs.php into /wp-content/scripts/ and run http://mysite.com/wp-content/scripts/move-blogs.php from my browser.

Is this all or have I missed something?

Let me know, please

  • Andrew

    I'm stuck here. Based upon the list of DBs above, can you tell me if I should type in 'user_' or something else?

    It would be: user_wpmu

    my database server, I can also type 127.0.0.1 right?

    I'd leave it as localhost. Although the 127.0.0.1 should do just fine.

    username of old DB or of new DBs I have created?

    New databases

    same question as above: pass to old DB or to new DBs?

    New databases

    add_dc_ip('127.0.0.1', 'dc1'); - I guess it's correct

    This needs to be your actual server IP. Ask your host if you don't know it. Let's say it's 99.99.99.99, you would configure it like:
    add_dc_ip('99.99.99.', 'dc1');

    add_global_table('user_wpmuglobal'); - is this correct?

    That section is for global plugin tables. For example, if you're using the Post Indexer plugin:
    add_global_table('site_posts');

    Should there be 'wpmu0 ... wpmuf' or 'user_wpmu0 ... user_wpmuf' used?

    Yep, you need to use the full db name.

    I don't want to move main blog into separate DB so I guess I may exclude everything with wpmuvip1. Or should I leave it?

    Comment out the VIP lines.

    Is this all or have I missed something?

    I think you've covered all of the areas where people get stuck.

    Thanks,
    Andrew

  • idealizer

    Thank you very much Andrew.

    Two more questions - maybe silly ones - but I'm not sure about them.

    1. How do I get the list of global tables?

    I suppose I should go into PHPMyAdmin and see what tables do not have wp_x_ prefix and these will be global and I should include them all. Am I right?

    What about databases with wp_ prefix? Like wp_blogs and so on. Are they global?

    2. In my case how many databases in total do I need?

    Before I have counted 16 user_wpmu0 ... user_wpmuf plus user_wpmuglobal and user_wpmuvip1 - so 18 in total.

    But if I'm not moving main blog to separate DB I don't need user_wpmuvip1
    And based on your comment above I don't need user_wpmuglobal

    So looks like I only need 16 user_wpmu0 ... user_wpmuf and I remove lines:

    add_db_server('global', 'dc1', 1, 1,'127.0.0.1','127.0.0.1', 'wpmuglobal', 'user', 'pass');
    add_db_server('vip1', 'dc1', 1, 1,'127.0.0.1','127.0.0.1', 'wpmuvip1', 'user', 'pass');

    Is this correct?

    Thank you for your support! You are great.

  • Andrew

    Hiya,

    1. How do I get the list of global tables?

    I suppose I should go into PHPMyAdmin and see what tables do not have wp_x_ prefix and these will be global and I should include them all. Am I right?

    All of our plugins should come with an sql.txt. Just grab the table names from there. Also:

    1) Always remove the prefix "wp_"
    2) Do not list default wpmu global tables (wp_blogs, wp_users, etc)

    2. In my case how many databases in total do I need?

    Before I have counted 16 user_wpmu0 ... user_wpmuf plus user_wpmuglobal and user_wpmuvip1 - so 18 in total.

    But if I'm not moving main blog to separate DB I don't need user_wpmuvip1

    Correct, you won't need the vip table.

    And based on your comment above I don't need user_wpmuglobal

    You need the global db. That's where your global tables go.

    Thanks,
    Andrew

  • idealizer

    Good, looks like I'm understanding it!

    All of our plugins should come with an sql.txt. Just grab the table names from there.

    Yeah, got it.
    I also meant global tables that can come from other - not your premium - plugins.

    Very good, so wp_x_ tables are never global, WPMU's standard (default) tables (like wp_users) are not taken into consideration and if some plugin adds a table like wp_something I list something as a global table.

    Thank you Andrew.