วิธีการ import ไฟล์ database.sql ใหญ่ๆ ใส่ในโฮส

เริ่มโดย iamnewbies, 28 เมษายน 2007, 16:58:53

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

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

iamnewbies

ลองเล่นในเครื่องมันก้ทำง่าย เพราะมีทั้ง command line ได้ใน dos mode

และทำงานเลวมาก เอ้ย เร็วมักๆๆ เพราะมันในเครื่อง ใช้ mysqlfront (โปรแกรมเก่า) มันก็ไม่กี่นาที เพราะมันเร็ว

แต่พอจะลองอัพไฟไว้ใน โฮส

อ้าอัพโหลด zip ไปแล้วคลาย ได้หลายร้อนยเมก

แล้วทีนี้จะทำไงละ เอาเข้ายังไง เพราะำไฟล์  mysql  มันใหญ่ และเป็น mydql


วิธีนี้ใช้ได้เฉพาะใน cpanel โฮสเท่านั้น นะครับ  โฮศอื่นๆ ไม่แน่ใจ
เพราะหลายๆ โอส ไม่สามารถใช้ php เขียนเรียกคำสั่ง exec ข้างนอกได้

ผมทำสคริป รับ command คำสั่ง

ลองมั่วดูครับ

mysql -u iamnewbies_article -ppassword iamnewbies_article < /home/iamnewbies/public_html/iamnewbies-info/articles.sql &


ใครมีวิธ๊ง่ายว่านี้มั้งอะ  หรือดีกว่านี้
ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ

MisterAoD

ขอ script รับคำสั่งมั่งได้ปะครับ ผมว่าจะหามาใช้เหมือนกันเพราะ เวลาผมอยู่ที่ทำงาน ssh ไม่ได้เลยครับ อย่างเซ็ง

ส่วนเรื่อง import มันก็ต้องวิธีนี้แหละครับ
ไม่ค่อยได้อยู่ มีอะไร mail มาครับ

iamnewbies

ลองใช้ php  exec  ธรรมดาดูสิครับ

<?php
echo exec&#40;'mysql -u iamnewbies_article -ppassword iamnewbies_article < /home/iamnewbies/public_html/iamnewbies-info/articles.sql &'&#41;;
?>


สังเกตุ ผมสั่ง ใส่  &  เข้าไปด้วยท้าย ให้มันทำงาน แบบ background คือ สั่งแล้วทิ้วไว้ได้ อันนี้น่าจะดีกว่า
เพราะว่าถ้าสั่งธรรมดา มันจะทำงานทันที และโหลดเครื่องแน่ๆๆ และก็  สคริปสั่ง php อาจจะทำงานนานจน time out เลยโดยมันไปทำงาน background แทนเลยดีกว่า อะนะ
ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ

7

เฮียเอกอัพไฟล์ใหญ่แค่ใหนอ่ะ

iamnewbies

อ้างถึงจาก: 7เฮียเอกอัพไฟล์ใหญ่แค่ใหนอ่ะ

100 เมกครับ

กำลังหาวิธีจัดการขนาด 200-300-400 เมกอยู่
ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ

MisterAoD

อยากให้คุณ EThaiZone ช่วยเขียน script ที่แบบว่ามีหน้าเว็บแล้วรับคำสั่ง ไป execute โดยใช้ exec ตัวนี้มั่งจังครับ

จะได้ไหมน้อ
ไม่ค่อยได้อยู่ มีอะไร mail มาครับ

EThaiZone

เพิ่ม -s
ด้วยก็ดีครับ

ใช้จัดการ dupicate index ได้
(คีย์อินเด็กซ้ำกัน)

iamnewbies

พวก exec นี่อันตรายนะครับ ไม่ควรทำเป้ฯวสคริป ทิ้งไว้ใน โฮส

ให้ใช้แล้วทิ้ง อย่างเดียว

ใช้เสร็จก็ลบทิ้งเลย อย่าให้เลือกซาก


ลืมอธบาย

mysql -u iamnewbies_article -ppassword iamnewbies_article < /home/iamnewbies/public_html/iamnewbies-info/articles.sql &

mysql ==> คำสั่ง mysql
-u iamnewbies_article  ==>  ชื่อ ยูสเซอร์
-ppassword   ==>  พาสเวิร์ด  password
iamnewbies_article ==>  ชื่อ database
/home/iamnewbies/public_html/iamnewbies-info/articles.sql   ==> คือชื่อไฟล์ mysql database ที่จะเอาใส่  ให้ใส่ address ของมันเต็มนะครับ
&  ==> คือ ให้คำสั่ง ไปทำงาน background แทน จนเสร็จ
ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ

EThaiZone

เพิ่มเติมครับ
iamnewbies_article < /home/iamnewbies/public_html/iamnewbies-info/articles.sql

ตัว < ก็เหมือนกับนำจาก sql เข้า db

ในกรณีจะส่งออก(แบ็กอัพข้อมูล)ก็เปลี่ยนเป็น >
แต่เปลี่ยนมาใช้โปรแกรม mysqldump แทน

ตัวอย่าง

mysqldump -u iamnewbies_article -ppassword iamnewbies_article > /home/iamnewbies/public_html/iamnewbies-info/articles.sql &

kingmaster

ผมใช้ bigdump อ่ะครับ ใหญ่แค่ไหนก็ทำได้ หุหุ

อ้างถึงhttp://www.ozerov.de/bigdump.php

วิธีใช้คือ แก้ไขไฟล์ bigdump.php โดยใส่ชื่อโฮส ชื่อดาต้าเบส ชื่อเรียกและรหัสผ่านของฐานข้อมูล จากนั้นก็อัพโหลดไฟล์ bigdump.php และไฟล์ sql ไปยังโฮส(อัพไปที่เดียวกัน) พอเสร็จก็รันไฟล์ bigdump.php จะมีชื่อไฟล์ดาต้าเบสที่อัพโหลดแสดงด้วย ก็คลิกที่ dump ข้างหลัง แล้วรอจนเสร็จ...

:lol:

*~เก้าคุง~*

ผมยังimport ใส่เครื่องตัวเองไม่ได้เลยครับ มันบอกไฟใหญ่เกินไป ไปแก้ในไฟรฺ์ php.iniในfolder phpแล้ว ผมใช้appserv มันก็ยังบอกไฟร์ใหญ่อยู่ เซง

7

อ้างถึงจาก: kingmasterผมใช้ bigdump อ่ะครับ ใหญ่แค่ไหนก็ทำได้ หุหุ

อ้างถึงhttp://www.ozerov.de/bigdump.php

วิธีใช้คือ แก้ไขไฟล์ bigdump.php โดยใส่ชื่อโฮส ชื่อดาต้าเบส ชื่อเรียกและรหัสผ่านของฐานข้อมูล จากนั้นก็อัพโหลดไฟล์ bigdump.php และไฟล์ sql ไปยังโฮส(อัพไปที่เดียวกัน) พอเสร็จก็รันไฟล์ bigdump.php จะมีชื่อไฟล์ดาต้าเบสที่อัพโหลดแสดงด้วย ก็คลิกที่ dump ข้างหลัง แล้วรอจนเสร็จ...

:lol:

การันตี BigDump ด้วยคน ใหญ่แค่ใหนก็ได้จริง เคยสูงสุด 1GB ทั้งในเครื่องตัวเอง แล้วก็โฮสปีศาส

ColdMoney

อ้างถึงจาก: iamnewbiesพวก exec นี่อันตรายนะครับ ไม่ควรทำเป้ฯวสคริป ทิ้งไว้ใน โฮส

ให้ใช้แล้วทิ้ง อย่างเดียว

ใช้เสร็จก็ลบทิ้งเลย อย่าให้เลือกซาก


ลืมอธบาย

mysql -u iamnewbies_article -ppassword iamnewbies_article < /home/iamnewbies/public_html/iamnewbies-info/articles.sql &

mysql ==> คำสั่ง mysql
-u iamnewbies_article  ==>  ชื่อ ยูสเซอร์
-ppassword   ==>  พาสเวิร์ด  password
iamnewbies_article ==>  ชื่อ database
/home/iamnewbies/public_html/iamnewbies-info/articles.sql   ==> คือชื่อไฟล์ mysql database ที่จะเอาใส่  ให้ใส่ address ของมันเต็มนะครับ
&  ==> คือ ให้คำสั่ง ไปทำงาน background แทน จนเสร็จ

เพิ่มนิดนึง  :lol:

-f  => กรณีที่ต้องการ force duplicate หรือ error
-h your-mysql-server => ในกรณีที่ mysql server ไม่ใช่ localhost
[direct=https://www.jumnong.com]รับจำนอง[/direct] [direct=https://burapasup.com]รับซื้อบ้าน[/direct] [direct=https://kadsan.com]สินค้าราคาถูก[/direct] [direct=https://checkcheap.com]เปรียบเทียบราคา[/direct]

*~เก้าคุง~*

ใช้bigdump แล้วขึ้นอย่างนี้อ่ะคับ

Error at the line 28: ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=28879 ;

Query: CREATE TABLE `articles` (
`id` double NOT NULL auto_increment,
`subject` varchar(200) NOT NULL default '',
`cid` int(11) NOT NULL,
`category` varchar(100) NOT NULL default '',
`body` longtext NOT NULL,
`source` varchar(100) NOT NULL default '',
`publisher` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=28879 ;

MySQL: Table 'articles' already exists

ColdMoney

อ้างถึงจาก: chenkaใช้bigdump แล้วขึ้นอย่างนี้อ่ะคับ

Error at the line 28: ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=28879 ;

Query: CREATE TABLE `articles` (
`id` double NOT NULL auto_increment,
`subject` varchar(200) NOT NULL default '',
`cid` int(11) NOT NULL,
`category` varchar(100) NOT NULL default '',
`body` longtext NOT NULL,
`source` varchar(100) NOT NULL default '',
`publisher` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=28879 ;

MySQL: Table 'articles' already exists

ตารางนี้มีอยู่แล้ว  :P
[direct=https://www.jumnong.com]รับจำนอง[/direct] [direct=https://burapasup.com]รับซื้อบ้าน[/direct] [direct=https://kadsan.com]สินค้าราคาถูก[/direct] [direct=https://checkcheap.com]เปรียบเทียบราคา[/direct]

superdog

 :P ไม่นึกไม่ฝัน ว่าตัวเองต้องมาจบที่ Bigdump เหมือนกัน  :-X

แต่ไม่รู้จะสำเร็จป่าวเพราะย้ายจาก linux มา windows

ขอบคุณนะครับสำหรับคนแนะนำ Bigdump  :-X

barbies55

ใช้วิธีแบบลูกทุ่งอ่ะค่ะ
เอาโค้ดส่วนตารางลงไปก่อน
แล้วเอา editplus มาหั่นๆในส่วนที่เป็นข้อมูล
เซฟเป็นไฟล์ย่อยๆไม่เกิน 51,200KiB ตามกฎของมัน
แล้วก็ค่อยๆ import ลงไปทีละไฟล์อย่างเย็นใจ อิๆ
ตอนนี้ลงเรียบร้อยละ 115 เมก
รับทำเทมเพลท รับโมเทมเพลทให้เข้ากับสคริปต์ต่างๆ


On the Internet, Never One Know You are a Dog.
ผ้าขี้ริ้วห่อทองย่อมเป็นทองฉันใด เอาทองเปลวมาห่อขี้ก็ยังเป็นขี้ฉันนั้น

hurahura

ให้คำสั่ง ไปทำงาน background แทน จนเสร็จ


คืออะไรเหรอครับ  ???

aomnaruk

อ้างถึงจาก: barbies55 ใน 03 มิถุนายน 2007, 18:57:51
ใช้วิธีแบบลูกทุ่งอ่ะค่ะ
เอาโค้ดส่วนตารางลงไปก่อน
แล้วเอา editplus มาหั่นๆในส่วนที่เป็นข้อมูล
เซฟเป็นไฟล์ย่อยๆไม่เกิน 51,200KiB ตามกฎของมัน
แล้วก็ค่อยๆ import ลงไปทีละไฟล์อย่างเย็นใจ อิๆ
ตอนนี้ลงเรียบร้อยละ 115 เมก

ใช้วิธีแบบเดียวกันเลย 5555+ เล่นง่ายมากๆ