สำหรับเพื่อนที่ต้องการย้าย host แต่คิดไม่ตกว่าจะทำอย่างไรกับ database ก้อนโต

เริ่มโดย shokarita, 21 ธันวาคม 2011, 23:02:46

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

shokarita

ผมมีฟังก์ชั่นง่ายๆๆ เอาไปประยุกต์ต่อได้นะครับ
ดังนี้ หากไม่เกิด limit ที่ทาง host ให้ PHP ทำงานได้ ให้ทำการ zip file แล้วทำการ upload ไปยัง folder ที่ท่านต้องการทำเรื่องการ convert นะครับ
แล้วเขียนดังนี้
ตัวนี้ผมตั้งชื่อ file ว่า sql5.sql นะครับ แล้วก็ zip file upload ขึ้น host ของเราเสร็จแล้วก็ รัน script ข่างล่างนี้นะครับ
<?PHP
$zip = new ZipArchive;
    $res = $zip->open('sql5.zip');
    if ($res === TRUE) {
        $zip->extractTo('./convertdb/');
        $zip->close();
        echo 'ok';
    } else {
        echo 'failed';
    }


$NameServer="NameServer";
$UserServer="#####";
$PassServer="#####";
$DataBestName="######";
@$conn=mysql_connect($NameServer,$UserServer,$PassServer) or die("No Connect");
mysql_select_db($DataBestName,$conn) or die("No Select");
mysql_query("SET NAMES UTF8");


echo $file =  'convertdb/sql5.sql';

if ($sql = file($file)) {
$query = '';
$i=1;
foreach($sql as $line) {
$tsl = trim($line);

if (($sql != '') && (substr($tsl, 0, 2) != "--") && (substr($tsl, 0, 1) != '#')) {
$query .= $line;
 
if (preg_match('/;\s*$/', $line)) {

$result = mysql_query($query);
 
if (!$result) {
echo "{$i}=><span style=\"color:red\">NO QUERY</span>";
echo "<br/>";
die(mysql_error());
}else{
echo "{$i}=>ok";
echo "<br/>";

}
$i++;
$query = '';
}
}
}
}

?>

มาส่องมาลอง

 :P ขอบคุณเลยคร้าบ ของดีๆๆ มีมาแต่ยังไม่ใจครับ ขยาย วิธีทำหน่อยครับ  :-[
กำลังเอาใจช่วย adyim.com :wanwan015: เว็บนี้เอาไว้ทำอะไรครับSEO
เดี่ยวนี้เรื่องกฎในลายเซ้นถูกละเลยทั้งสูงเกินบ้างพาไป18+บ้างผมคิดมากไปม้าง

whosomeone


shokarita

อ้างถึงจาก: shokarita ใน 21 ธันวาคม 2011, 23:02:46
ผมมีฟังก์ชั่นง่ายๆๆ เอาไปประยุกต์ต่อได้นะครับ
ดังนี้ หากไม่เกิด limit ที่ทาง host ให้ PHP ทำงานได้ ให้ทำการ zip file แล้วทำการ upload ไปยัง folder ที่ท่านต้องการทำเรื่องการ convert นะครับ
แล้วเขียนดังนี้
ตัวนี้ผมตั้งชื่อ file ว่า sql5.sql นะครับ แล้วก็ zip file upload ขึ้น host ของเราเสร็จแล้วก็ รัน script ข่างล่างนี้นะครับ
<?PHP
$zip = new ZipArchive;
    $res = $zip->open('sql5.zip');
    if ($res === TRUE) {
        $zip->extractTo('./convertdb/');
        $zip->close();
        echo 'ok';
    } else {
        echo 'failed';
    }


$NameServer="NameServer";
$UserServer="#####";
$PassServer="#####";
$DataBestName="######";
@$conn=mysql_connect($NameServer,$UserServer,$PassServer) or die("No Connect");
mysql_select_db($DataBestName,$conn) or die("No Select");
mysql_query("SET NAMES UTF8");


echo $file =  'convertdb/sql5.sql';

if ($sql = file($file)) {
$query = '';
$i=1;
foreach($sql as $line) {
$tsl = trim($line);

if (($sql != '') && (substr($tsl, 0, 2) != "--") && (substr($tsl, 0, 1) != '#')) {
$query .= $line;
 
if (preg_match('/;\s*$/', $line)) {

$result = mysql_query($query);
 
if (!$result) {
echo "{$i}=><span style=\"color:red\">NO QUERY</span>";
echo "<br/>";
die(mysql_error());
}else{
echo "{$i}=>ok";
echo "<br/>";

}
$i++;
$query = '';
}
}
}
}

?>



shokarita

database รวมแล้ว 348mb ครับ เมือ zip แล้วเหลือมไม่ถึง 50MB อัพแล้วทำการ convert เข้า database ได้ภายในเวลาไม่ถึง 1ชั่วโมง

marketting

ขอบคุณครับ

แต่ผมชอบ การ dump แบบสคริปต์อ่ะครับ มันสะดวกดี หรือว่าผมไม่ชิน ครับ แต่ก็ขอเก็บไว้ศึกษาการทำงานครับ

:wanwan017:
รับเขียนบทความคุณภาพ Click ดูก่อนที่นี่ คิว 5-7 วันจองก่อนได้
SEO-Hosting 200 IP อยากมี Network ส่วนตัวดัน Keyword ที่นี่


- รับทำ Adwords T.082-1695526 Line : thaiception
- งาน 3D ออกแบบนำเสนอ เช่น โรงแรม รีสอร์ท ร้านอาหาร ที่ท่องเที่ยว ฯลฯ

iCafe

ขายครับ [direct=https://www.uppic.org/]ฝากรูปฟรี อับรูปฟรี อับโหลดรูปฟรี[/direct] พร้อมสคิป

shokarita



NightClub

ิbigdump เป็นสคริปสำเร็จรูป ใช้ง่ายมากครับ แก้แค่ config database

แค่อัพโหลด SQL หรือ Zip ไปในโฟลเดอร์ของสคริป แค่นั้นก็กดรันได้เลยครับ

สคริปนี้ไม่ต้องการ การโมดิฟายเลยครับ บัคก็ไม่มี
รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย

shokarita

ออ งั้นก็นานหน่อย หากจะ upload file database 300mb ขึ้นไปที่เดียว
อีกอย่างเกิน limit Execute time ของ PHP ครับ host ผมไม่แน่ใจเท่าไหร่ แต่ผมได้น้อยหนะ

phong


shokarita

ออ เห็นละครับ เข้าใจระบบ bigdump ละ คล้ายๆๆ กันแหละ
พอดีไม่รู้ครับ เข้าจะทำการ set
@ini_set('auto_detect_line_endings', true);
@set_time_limit(0);
มันก็เลยทำได้ง่าย ก็ถือว่าง่ายดีครับผม และเขียนได้รอบคอบกว่าเยอะ 555
ตัวนี้ผมไม่รู้ แต่ถือว่าหากใครอยากได้แบบง่ายๆๆ ก็ดูตามนี้ได้ครับผม