ThaiSEOBoard.com

พัฒนาเว็บไซต์ => CMS & Free Script => ข้อความที่เริ่มโดย: untilate ที่ 27 ธันวาคม 2009, 20:40:37



หัวข้อ: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 27 ธันวาคม 2009, 20:40:37
Multiple databases plugin (db.php) for WordPress MU

(http://upic.me/i/p6/capture.jpg)

I was working on importing 1600+ separate WordPress blogs to WordPress MU. In a week, I managed to successfully import all those blogs using my custom import/export scripts. My WordPress MU database was containing 10.000+ tables, and IMHO that was pretty horrible. I tried to figure out "WP_USE_MULTIPLE_DB" by checking the code, and looking for some other free solutions, but couldn’t find anything working the way I wanted.

Here is my multi database plugin for WordPress MU. It can work with any number of databases (I am currenly using 128 databases, so I have around 100 tables in each database). Also, I am providing split_dbs scripts, witch will copy tables from single Wordpress MU database, to multiple databases.

Installation/Configuration

Copy db.php to a temporary directory. On lines 59, 60 find:
โค๊ด:
var $max_dbs = 128;
var $base_db_name = 'blog_';

In $max_dbs put number of databases you are planning to use. $base_db_name is database name prefix, so if you put i.e. ‘blog_’, your databases will be named blog_0, blog_1, blog_2 etc up to (in this case) blog_127.
When you are done with those variables, copy this file to wp-content directory.

Now you need to edit split_dbs.php. At the top of the file you will find configuration block. Please make sure you set exactly the same values for $max_dbs and $base_db_name like you have in db.php, and database connection parameters (including table prefix) that you are using in wp-config.php.
When you are done editing split_dbs.php, call this script from your browser or command line.


Download: http://webdevguru.com/dl/multi_db_wpmu_271.zip
Thank: http://webdevguru.com/wpmu-hacks.html

จะใช้งานจริงๆ จะติดตอน create db ต้องศึกษา DirectAdmin API นิดหน่อย (สำหรับโฮส DirectAdmin)
http://www.directadmin.com/api.html

หรือหากไม่รู้เรื่องก็ใช้แบบนี้ (แบบนี้โหดไปหน่อย ทำเหมือนกับเข้าไปสร้าง db ใน da)

โค๊ด:
<?
$ch =curl_init('http://domain.com:2222/CMD_DB');
 curl_setopt($ch, CURLOPT_USERPWD, 'username:password');
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "domain=domain.com&action=create&name=test&user=test&passwd=123456&passwd2=123456");
 $res = curl_exec ($ch);
 print_r($res);
?>
โค้ดนี้ เครดิต คุณ Thaitumweb


หัวข้อ: Re: Wordpress Mu แบบ Multiple databases
เริ่มหัวข้อโดย: desiger ที่ 27 ธันวาคม 2009, 20:43:37
ว้าวๆๆๆๆ

ขอบคุณครับบบ

เดยวลองมั่วดู

อิอิ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 27 ธันวาคม 2009, 21:19:44
จะว่าไป เจ้า wpmu นี้ มันหนักจริงๆ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: easyeasy ที่ 27 ธันวาคม 2009, 22:39:41
ขอบคุณครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: benz4543 ที่ 28 ธันวาคม 2009, 17:33:00
อ่านแล้ว งงครับ มีแบบ เข้าใจง่ายหน่อยครับ
ผมทำตามไม่ได้สะที
ผมใช้ wpmu ที่ hostmonster เลยสนใจตัวนี้ครับ
รบกวนอธิบายอีกนืด


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 28 ธันวาคม 2009, 18:49:41
เดี๋ยวผมจะมาสอนเป็นภาษาไทยให้อีกทีนะครับ

แต่ของย้ำว่า ถ้าภาษาอักกฤษไม่แย่เกินไป ก็เข้าใจครับ แค่อ่านตามนั้นแล้วทำตามเลย..

ดูภาพข้างบนยืนยัน

ช่วงนี้ผมสอบได้แต่แว๊บๆ มาครับ เดี๋ยวอาทิตย์ปีใหม่จะมาสอนให้ครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: pigdoll ที่ 28 ธันวาคม 2009, 18:52:39
เด๋วไปมั่วๆ ดู
  :wanwan002:


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: benz4543 ที่ 28 ธันวาคม 2009, 19:10:41
แบบนี้ เรียกว่า wild card หรือเปล่าครับ

ที่ hostmonster ทำแบบนี้ ไม่ได้ครับ
มีวิธีอื่นอีกหรือเปล่าครับ

wpmu แบบ subdomain ใน hostmoster

ผมมี 2 host ใช้ wildcard ไม่ได้ทั้ง 2 host เลย
hostinglotus ของไทย
hostmonster    usa

อื้อ ท่านเทพ ช่วยสอนหน่อยครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 28 ธันวาคม 2009, 19:15:12
แบบนี้ เรียกว่า wild card หรือเปล่าครับ

ที่ hostmonster ทำแบบนี้ ไม่ได้ครับ
มีวิธีอื่นอีกหรือเปล่าครับ

wpmu แบบ subdomain ใน hostmoster

ผมมี 2 host ใช้ wildcard ไม่ได้ทั้ง 2 host เลย
hostinglotus ของไทย
hostmonster    usa

อื้อ ท่านเทพ ช่วยสอนหน่อยครับ


คนละเรื่องกันครับ นี่ไม่ได้เกี่ยวกับโดเมน

มันเกี่ยวกับ ฐานข้อมูลอะครับ

แบบ แบ่งเป็นฐานข้อมูลย่อยๆ จะได้ลด record ครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: keox ที่ 28 ธันวาคม 2009, 19:26:08
มารอคนสอนจ๊ะ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 29 ธันวาคม 2009, 23:26:55
หลังปีใหม่นะ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: PLUS+ ที่ 29 ธันวาคม 2009, 23:28:16
หลังปีใหม่นะ

เหมือนกันครับต้อง Backup กันยกใหญ่เลย 700MB กว่าๆ  :P


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: kanokk ที่ 25 กุมภาพันธ์ 2010, 18:47:06
ขอขุดหน่อยนะครับ
ตอนนี้ WP 2.9.X แล้วอ่ะครับ
ไม่ทราบว่าใครมีไฟลล์ plugin ตัว MultiDB ที่รองรับ WPMU ตัวนี้ บ้างอ่ะครับ
รบกวนขอหน่อยนะครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: Sevennight ที่ 25 กุมภาพันธ์ 2010, 19:47:16
อ๋อ ได้ความรู้เลยครับ เห็นเค้าพูดกันไม่รู้มันคืออะไร  :wanwan017:


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: nulek101 ที่ 21 มีนาคม 2010, 09:14:52

จะใช้งานจริงๆ จะติดตอน create db ต้องศึกษา DirectAdmin API นิดหน่อย (สำหรับโฮส DirectAdmin)
http://www.directadmin.com/api.html

หรือหากไม่รู้เรื่องก็ใช้แบบนี้ (แบบนี้โหดไปหน่อย ทำเหมือนกับเข้าไปสร้าง db ใน da)

โค๊ด:
<?
$ch =curl_init('http://domain.com:2222/CMD_DB');
 curl_setopt($ch, CURLOPT_USERPWD, 'username:password');
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "domain=domain.com&action=create&name=test&user=test&passwd=123456&passwd2=123456");
 $res = curl_exec ($ch);
 print_r($res);
?>
โค้ดนี้ เครดิต คุณ Thaitumweb
[/quote]

เราเอา โค๊ตข้างบน  ไปใส่ที่ไหนเหรอครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 21 มีนาคม 2010, 09:16:34

จะใช้งานจริงๆ จะติดตอน create db ต้องศึกษา DirectAdmin API นิดหน่อย (สำหรับโฮส DirectAdmin)
[url]http://www.directadmin.com/api.html[/url]

หรือหากไม่รู้เรื่องก็ใช้แบบนี้ (แบบนี้โหดไปหน่อย ทำเหมือนกับเข้าไปสร้าง db ใน da)

โค๊ด:
<?
$ch =curl_init('[url]http://domain.com:2222/CMD_DB'[/url]);
 curl_setopt($ch, CURLOPT_USERPWD, 'username:password');
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "domain=domain.com&action=create&name=test&user=test&passwd=123456&passwd2=123456");
 $res = curl_exec ($ch);
 print_r($res);
?>
โค้ดนี้ เครดิต คุณ Thaitumweb


เราเอา โค๊ตข้างบน  ไปใส่ที่ไหนเหรอครับ
[/quote]

ในไฟล์ที่ดาวโหลดไปอะ เอาไปแทน code สร้าง ตาราง sql อะ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: tenzamak ที่ 21 มีนาคม 2010, 09:21:15
จริงๆแล้ว ถ้าเป็น vps   api ไม่ต้องใช้นะครับ
ส่วนโฮสปกติ admin ไม่ยอมเซ็ตแน่ๆเลย


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: nulek101 ที่ 21 มีนาคม 2010, 09:32:22
จริงๆแล้ว ถ้าเป็น vps   api ไม่ต้องใช้นะครับ
ส่วนโฮสปกติ admin ไม่ยอมเซ็ตแน่ๆเลย

สรุปว่า ไม่สามารถ สร้างได้ใช่ไหมครับ (ไม่รู้ว่าเข้าใจถูกไหม)
เขาเรียกว่าอะไรครับ ถ้าบอก admin เซ็ทให้


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: tenzamak ที่ 21 มีนาคม 2010, 11:37:49
จริงๆแล้ว ถ้าเป็น vps   api ไม่ต้องใช้นะครับ
ส่วนโฮสปกติ admin ไม่ยอมเซ็ตแน่ๆเลย

สรุปว่า ไม่สามารถ สร้างได้ใช่ไหมครับ (ไม่รู้ว่าเข้าใจถูกไหม)
เขาเรียกว่าอะไรครับ ถ้าบอก admin เซ็ทให้

กําหนดสิทธิ์ ให้ DB Name เข้าถึงได้ทุกๆ ฐานข้อมูล
ถ้าเป็น hosting ธรรมดา adminไม่ทําให้แน่นอนครับ เพราะมันเห็ฯทุก DB ในโฮส


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: g-ji ที่ 21 มีนาคม 2010, 12:35:12
ปกติทำเหมือนจี้ป่าวหว่า

จี้เขียนสคริปท์ให้มันสร้างฐานข้อมูลขึ้นมา เยอะๆ

โค๊ด:
<?php
$max_dbs 
256;
$base_db_name 'wpmu_db';

$db_name     'wpmu';
$db_user     'root';
$db_password '';
$db_host     'localhost';

$table_prefix  'wp_';
//-Configuration-end------------------------------------------------------

$dbh = new PDO("mysql:host=$db_host;dbname=$db_name"$db_user$db_password);

// Create databases
for($i=0$i<$max_dbs$i++) {
$dbh->query('CREATE DATABASE IF NOT EXISTS '.$base_db_name.$i);
}

?>


ไม่แน่ใจว่าใช่ได้กับทุกโฮสป่าว แต่จริงๆ ไป copy มาจากเว็บไหนสักที่นี่แหละ เอามาแก้่นิดหน่อย

แล้วก็

ใช้สคริปท์ข้างล่าง เจน คำสั่ง เอาไว้ใช้ใน db_setting
โค๊ด:
<?php 
$shot 
's';
$dbhost 'localhost';
$dbuser 'root';
$dbpass '';
$dbcount '256';
$dbname 'wpmu_db';

for(
$i 0;$i $dbcount;$i++){

echo "add_db_server('$shot$i', 0, 'mysql', 1, 1, '$dbhost', '', '$dbname$i', '$dbuser', '$dbpass');\n";
 
 }
?>


ส่วนอันนี้โค้ด db_setting
โค๊ด:
http://g-ji.com/wp-content/uploads/2010/03/db-settings.php_.txt

ตรงจุดที่ให้ใส่ก็บอกไว้นะ เอาโค้ดที่เจนจากสคริปท์ (อันที่ 2) มันจะออกมาแบบเนี่ย ▼ ตามจำนวนฐานข้อมูลที่ใส่ไป
โค๊ด:
add_db_server('s0', 0, 'mysql', 1, 1, 'localhost', '', 'wpmu_db0', 'root', '');

เสร็จแล้วเลื่อนลงไปอีกหน่อย ตรง add_global_server ไม่ต้องไปยุ่งอะไร ลงไปอีก

โค๊ด:
$dbsnum=256; // << จำนวนฐานข้อมูลที่สร้างไว้
$blogs_per_db=4; // << จำนวนบล็อกต่อฐานข้อมูลนั้นๆ จากสคริปท์ตั้งไว้ 4 บล็อกต่อฐานข้อมูล

for($db_id=1; $db_id<=$dbsnum; $db_id++){
    $dataset = 's' . $db_id;
    $max = $db_id * $blogs_per_db + 1; // include
    $min = $max - $blogs_per_db + 1; // include
    for($blog_id=$min; $blog_id<=$max; $blog_id++){
        add_blog_tables($dataset, $blog_id);
    }

บล็อกที่ 2 เป็นต้นไป มันจะสร้างลงฐานข้อมูล ตามที่เซ็ทไว้ (จากสคริปท์ ฐานละ 4 บล็อก) ไล่ไปเรื่อยๆ  :P จนครบ 256 ฐาน (ตามโค้ดตัวอย่าง)

จากโค้ดตัวอย่างนี่ สร้างได้ 1024 บล็อก  :o

ทดสอบใน local host อย่างเดียว ใช้ได้ไม่มีบั๊ก  :-[

เอามาแปะ หาคนเทสในโฮสจริง ! ถ้ามันเวิร์ค หรือ ใช้ได้ เดี๋ยวหาคนช่วยพัฒนาต่อ ให้มันดูดีหน่อย มีหน้า install อินเตอร์เฟส สวยๆ ใช้ง่ายๆ แค่กรอกข้อมูล กด ok รอสคริปท์ทำงาน แล้วก็ ตู้มมม ออกมาเป็น โกโก้ครันช์

แก้ไข

ไฟล์ไม่ครบ

โค๊ด:
http://g-ji.com/wp-content/uploads/2010/03/share-db.zip

 :P
หลักจากติดตั้ง wpmu เสร็จแล้่ว ย้ายไฟล์ ตามนี้
db.php >> wp-content
create_multidb.php >> root
create_multidb_config.php >> root
db-settings.php >> root

แก้ไข wp-config.php

เพิ่ม

define('WPMU', true);
require('db-settings.php');

ไว้บนสุด (ใน <?php)

***
แก้ไขไฟล์เพิ่มนิดหน่อย

โค้ดตัวอย่างที่ให้โหลดแบบ zip เซ็ทค่าไว้หมดแล้ว สร้างฐานข้อมูลเพิ่ม ก็พอ

ลองใช้ในเครื่องตัวเองดูก่อนแล้วค่อยไปลองบนโฮสจริง  :wanwan009:


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 21 มีนาคม 2010, 12:37:13
นั้นแหละครับ

แบบที่คุน g ทำเลย


ขอบคุณมากๆ ครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: auzaa ที่ 24 มีนาคม 2010, 09:34:42
โค๊ด:
<?php
$max_dbs 
256;
$base_db_name 'wpmu_db';

$db_name     'wpmu';
$db_user     'root';
$db_password '';
$db_host     'localhost';

$table_prefix  'wp_';
//-Configuration-end------------------------------------------------------

$dbh = new PDO("mysql:host=$db_host;dbname=$db_name"$db_user$db_password);

// Create databases
for($i=0$i<$max_dbs$i++) {
$dbh->query('CREATE DATABASE IF NOT EXISTS '.$base_db_name.$i);
}

?>

สมมุติว่าของผมเป็นอย่างนี้
database_name = thaiseo_abc
database_user = thaiseo_abc
password = 123456

ผมต้องเปลี่ยนเป็นอย่างนี้หรือปล่าว
โค๊ด:
<?php
$max_dbs 
256;
$base_db_name 'thaiseo_abc';

$db_name     'thaiseo';
$db_user     'thaiseo_abc';
$db_password '123456';
$db_host     'localhost';

$table_prefix  'thaiseo_';
//-Configuration-end------------------------------------------------------

$dbh = new PDO("mysql:host=$db_host;dbname=$db_name"$db_user$db_password);

// Create databases
for($i=0$i<$max_dbs$i++) {
$dbh->query('CREATE DATABASE IF NOT EXISTS '.$base_db_name.$i);
}

?>






หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: kkusd ที่ 29 เมษายน 2010, 23:15:58
ขุดมาถามหน่อยครับ

ใครพอจะแปลไทยให้ได้บ้างครับ อ่านแล้วยังงง

database ที่สร้างต้องรันที่ไฟล์ db.php เหรอครับ ???

จะได้เป็นไฟล์ออกมาใช่รึเปล่าครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: เด็กฝึกงาน ที่ 30 เมษายน 2010, 00:44:14
รอสักพัก อีกไม่นานเวอร์ชั่น 3 ก็ออกแล้วครับ
คราวนี้ จะเป็น WordPress ที่รวมร่างกับ WPMU เรียบร้อยแล้ว

ใครอยากลองทดสอบ ก็โหลดตัว Beta มาเล่นก่อนได้
http://wordpress.org/wordpress-3.0-beta1.zip


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: artitpoo ที่ 01 พฤษภาคม 2010, 11:36:15
ปกติทำเหมือนจี้ป่าวหว่า

จี้เขียนสคริปท์ให้มันสร้างฐานข้อมูลขึ้นมา เยอะๆ

โค๊ด:
<?php
$max_dbs 
256;
$base_db_name 'wpmu_db';

$db_name     'wpmu';
$db_user     'root';
$db_password '';
$db_host     'localhost';

$table_prefix  'wp_';
//-Configuration-end------------------------------------------------------

$dbh = new PDO("mysql:host=$db_host;dbname=$db_name"$db_user$db_password);

// Create databases
for($i=0$i<$max_dbs$i++) {
$dbh->query('CREATE DATABASE IF NOT EXISTS '.$base_db_name.$i);
}

?>


ไม่แน่ใจว่าใช่ได้กับทุกโฮสป่าว แต่จริงๆ ไป copy มาจากเว็บไหนสักที่นี่แหละ เอามาแก้่นิดหน่อย

แล้วก็

ใช้สคริปท์ข้างล่าง เจน คำสั่ง เอาไว้ใช้ใน db_setting
โค๊ด:
<?php 
$shot 
's';
$dbhost 'localhost';
$dbuser 'root';
$dbpass '';
$dbcount '256';
$dbname 'wpmu_db';

for(
$i 0;$i $dbcount;$i++){

echo "add_db_server('$shot$i', 0, 'mysql', 1, 1, '$dbhost', '', '$dbname$i', '$dbuser', '$dbpass');\n";
 
 }
?>


ส่วนอันนี้โค้ด db_setting
โค๊ด:
[url]http://g-ji.com/wp-content/uploads/2010/03/db-settings.php_.txt[/url]

ตรงจุดที่ให้ใส่ก็บอกไว้นะ เอาโค้ดที่เจนจากสคริปท์ (อันที่ 2) มันจะออกมาแบบเนี่ย ▼ ตามจำนวนฐานข้อมูลที่ใส่ไป
โค๊ด:
add_db_server('s0', 0, 'mysql', 1, 1, 'localhost', '', 'wpmu_db0', 'root', '');

เสร็จแล้วเลื่อนลงไปอีกหน่อย ตรง add_global_server ไม่ต้องไปยุ่งอะไร ลงไปอีก

โค๊ด:
$dbsnum=256; // << จำนวนฐานข้อมูลที่สร้างไว้
$blogs_per_db=4; // << จำนวนบล็อกต่อฐานข้อมูลนั้นๆ จากสคริปท์ตั้งไว้ 4 บล็อกต่อฐานข้อมูล

for($db_id=1; $db_id<=$dbsnum; $db_id++){
    $dataset = 's' . $db_id;
    $max = $db_id * $blogs_per_db + 1; // include
    $min = $max - $blogs_per_db + 1; // include
    for($blog_id=$min; $blog_id<=$max; $blog_id++){
        add_blog_tables($dataset, $blog_id);
    }

บล็อกที่ 2 เป็นต้นไป มันจะสร้างลงฐานข้อมูล ตามที่เซ็ทไว้ (จากสคริปท์ ฐานละ 4 บล็อก) ไล่ไปเรื่อยๆ  :P จนครบ 256 ฐาน (ตามโค้ดตัวอย่าง)

จากโค้ดตัวอย่างนี่ สร้างได้ 1024 บล็อก  :o

ทดสอบใน local host อย่างเดียว ใช้ได้ไม่มีบั๊ก  :-[

เอามาแปะ หาคนเทสในโฮสจริง ! ถ้ามันเวิร์ค หรือ ใช้ได้ เดี๋ยวหาคนช่วยพัฒนาต่อ ให้มันดูดีหน่อย มีหน้า install อินเตอร์เฟส สวยๆ ใช้ง่ายๆ แค่กรอกข้อมูล กด ok รอสคริปท์ทำงาน แล้วก็ ตู้มมม ออกมาเป็น โกโก้ครันช์

แก้ไข

ไฟล์ไม่ครบ

โค๊ด:
[url]http://g-ji.com/wp-content/uploads/2010/03/share-db.zip[/url]

 :P
หลักจากติดตั้ง wpmu เสร็จแล้่ว ย้ายไฟล์ ตามนี้
db.php >> wp-content
create_multidb.php >> root
create_multidb_config.php >> root
db-settings.php >> root

แก้ไข wp-config.php

เพิ่ม

define('WPMU', true);
require('db-settings.php');

ไว้บนสุด (ใน <?php)

***
แก้ไขไฟล์เพิ่มนิดหน่อย

โค้ดตัวอย่างที่ให้โหลดแบบ zip เซ็ทค่าไว้หมดแล้ว สร้างฐานข้อมูลเพิ่ม ก็พอ

ลองใช้ในเครื่องตัวเองดูก่อนแล้วค่อยไปลองบนโฮสจริง  :wanwan009:

-----------------------------------------------------------------------------
สมมุติผมตั้ง Database
db_name:pora_wpmu1
db_user:pora_wpmu1
password:259756
------------------------------------------------
create_multidb.php
อันเดิม
<?php
$max_dbs = 256;
$base_db_name = 'wpmu_db';

$db_name     = 'wpmu';
$db_user     = 'root';
$db_password = '';
$db_host     = 'localhost';

$table_prefix  = 'wp_';
//-Configuration-end------------------------------------------------------

$dbh = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_password);

// Create databases
for($i=1; $i<$max_dbs; $i++) {
   $dbh->query('CREATE DATABASE IF NOT EXISTS '.$base_db_name.$i);
}

?>
-----------------------------------------
ของผม
<?php
$max_dbs = 256;
$base_db_name = 'pora_wpmu1';

$db_name     = 'pora_wpmu1';
$db_user     = 'pora_wpmu1';
$db_password = '259756';
$db_host     = 'localhost';

$table_prefix  = 'wp_';
//-Configuration-end------------------------------------------------------

$dbh = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_password);

// Create databases
for($i=1; $i<$max_dbs; $i++) {
   $dbh->query('CREATE DATABASE IF NOT EXISTS '.$base_db_name.$i);
}

?>
-----------------------------------------
create_multidb_config.php
อันเดิม
<?php
$shot = 's';
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbcount = '256';
$dbname = 'wpmu_db';

for($i = 0;$i < $dbcount;$i++){

   echo "add_db_server('".$shot.($i+1)."', 0, 'mysql', 1, 1, '$dbhost', '', '$dbname$i', '$dbuser', '$dbpass');\n";
 
 }
?>
----------------------------------------------------
ของผม
<?php
$shot = 's';
$dbhost = 'localhost';
$dbuser = 'pora_wpmu1';
$dbpass = '259756';
$dbcount = '256';
$dbname = 'pora_wpmu1';

for($i = 0;$i < $dbcount;$i++){

   echo "add_db_server('".$shot.($i+1)."', 0, 'mysql', 1, 1, '$dbhost', '', '$dbname$i', '$dbuser', '$dbpass');\n";
 
 }
?>
---------------------------------------
db-settings.php

$server = compact('ds', 'part', 'dc', 'read', 'write', 'host', 'lhost', 'name', 'user', 'password');

และผมต้องเปลี่ยนที่บรรทัดที่ 110
// add databases
add_db_server('global', 0, 'mysql', 1, 1, 'localhost', '', 'pora_wpmu1', 'pora_wpmu1', '259756');
add_db_server('s1', 0, 'mysql', 1, 1, 'localhost', '', 'pora_wpmu1_db0', 'pora_wpmu1', '259756');

มันมีอยู่ช่องหนึ่งคือ 'host' ผมต้องใส่ไรครับ
---------------------------------------------------------------
ผมทำแบบนี้ถูกไหมครับ   
ขอบคุณครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: frang ที่ 01 พฤษภาคม 2010, 20:45:59
 :wanwan017:ขอเก็บ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: ~อุอุ~ ที่ 04 พฤษภาคม 2010, 23:17:12
มาดันครับ ใช้ได้กับ wpmu version ล่าสุดไหมครับ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: redblood ที่ 16 พฤษภาคม 2010, 21:38:39
ใช้ directadmin มันสร้าง database ไม่ได้อ่ะครับ
API ใช้ยังไงเหรอครับ




หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: untilate ที่ 16 พฤษภาคม 2010, 22:26:43
ใช้ directadmin มันสร้าง database ไม่ได้อ่ะครับ
API ใช้ยังไงเหรอครับ

แล้ว script นี้เอาไปใส่ตรงไหนอ่ะครับ แบบว่าลองแล้วไม่ได้อ่ะ มือใหม่อ่ะครับ
$ch =curl_init('[url]http://thaibaccaratclub.com:2222/CMD_DB'[/url]);
 curl_setopt($ch, CURLOPT_USERPWD, '++');
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "domain=thaibaccaratclub.com&action=create&name=test&user=test&passwd=123456&passwd2=123456");
 $res = curl_exec ($ch);
 print_r($res);



อะไรเนี่ย  curl_setopt($ch, CURLOPT_USERPWD, '++'); ระวังนะ


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: คนเดินทางไกล ที่ 17 พฤษภาคม 2010, 10:10:35
ปล่อยให้อยากแล้วก็จากไป อย่างเงียบ ๆ  :(


หัวข้อ: Re: ใครลง WPMU แล้ว tables เยอะจัด ลองทำ Multiple databases ดูซิ
เริ่มหัวข้อโดย: nht ที่ 07 ตุลาคม 2010, 07:46:15
ใครใช้กับ hostgator ได้มั่ง