ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingวิธีการ import ไฟล์ database.sql ใหญ่ๆ ใส่ในโฮส
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: วิธีการ import ไฟล์ database.sql ใหญ่ๆ ใส่ในโฮส  (อ่าน 9666 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
iamnewbies
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 28
ออฟไลน์ ออฟไลน์

กระทู้: 9,635



ดูรายละเอียด
« เมื่อ: 28 เมษายน 2007, 16:58:53 »

ลองเล่นในเครื่องมันก้ทำง่าย เพราะมีทั้ง 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
ก๊วนเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 305



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 28 เมษายน 2007, 17:17:32 »

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

ส่วนเรื่อง import มันก็ต้องวิธีนี้แหละครับ
บันทึกการเข้า

ไม่ค่อยได้อยู่ มีอะไร mail มาครับ
iamnewbies
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 28
ออฟไลน์ ออฟไลน์

กระทู้: 9,635



ดูรายละเอียด
« ตอบ #2 เมื่อ: 28 เมษายน 2007, 18:03:57 »

ลองใช้ 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
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 1,353



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 28 เมษายน 2007, 18:52:16 »

เฮียเอกอัพไฟล์ใหญ่แค่ใหนอ่ะ
บันทึกการเข้า

iamnewbies
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 28
ออฟไลน์ ออฟไลน์

กระทู้: 9,635



ดูรายละเอียด
« ตอบ #4 เมื่อ: 28 เมษายน 2007, 19:00:59 »

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


100 เมกครับ

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

ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ
MisterAoD
ก๊วนเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 305



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 28 เมษายน 2007, 19:21:01 »

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

จะได้ไหมน้อ
บันทึกการเข้า

ไม่ค่อยได้อยู่ มีอะไร mail มาครับ
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,516



ดูรายละเอียด
« ตอบ #6 เมื่อ: 28 เมษายน 2007, 19:22:04 »

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

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

iamnewbies
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 28
ออฟไลน์ ออฟไลน์

กระทู้: 9,635



ดูรายละเอียด
« ตอบ #7 เมื่อ: 28 เมษายน 2007, 19:33:34 »

พวก 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
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,516



ดูรายละเอียด
« ตอบ #8 เมื่อ: 28 เมษายน 2007, 21:02:46 »

เพิ่มเติมครับ
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
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 2,183



ดูรายละเอียด
« ตอบ #9 เมื่อ: 28 เมษายน 2007, 21:10:15 »

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

อ้างถึง


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

 :lol:
บันทึกการเข้า

Bug Fix AllinoneGenerator --> BugFix... | รถตู้เชียงใหม่
*~เก้าคุง~*
สายตรวจเสียวบอร์ด
Moderator
เจ้าพ่อบอร์ดเสียว
*****

พลังน้ำใจ: 136
ออฟไลน์ ออฟไลน์

กระทู้: 4,097



ดูรายละเอียด
« ตอบ #10 เมื่อ: 28 เมษายน 2007, 21:18:23 »

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

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 1,353



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 29 เมษายน 2007, 00:43:50 »

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

อ้างถึง


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

 :lol:


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

ColdMoney
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 200
ออฟไลน์ ออฟไลน์

กระทู้: 12,622



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 29 เมษายน 2007, 08:25:00 »

อ้างจาก: "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
บันทึกการเข้า

*~เก้าคุง~*
สายตรวจเสียวบอร์ด
Moderator
เจ้าพ่อบอร์ดเสียว
*****

พลังน้ำใจ: 136
ออฟไลน์ ออฟไลน์

กระทู้: 4,097



ดูรายละเอียด
« ตอบ #13 เมื่อ: 01 พฤษภาคม 2007, 10:36:21 »

ใช้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
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 200
ออฟไลน์ ออฟไลน์

กระทู้: 12,622



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 01 พฤษภาคม 2007, 12:00:57 »

อ้างจาก: "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


ตารางนี้มีอยู่แล้ว  Tongue
บันทึกการเข้า

superdog
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 1,347



ดูรายละเอียด
« ตอบ #15 เมื่อ: 03 มิถุนายน 2007, 17:47:28 »

 Tongue ไม่นึกไม่ฝัน ว่าตัวเองต้องมาจบที่ Bigdump เหมือนกัน  Lips Sealed

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

ขอบคุณนะครับสำหรับคนแนะนำ Bigdump  Lips Sealed
บันทึกการเข้า
barbies55
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 417
ออฟไลน์ ออฟไลน์

กระทู้: 11,533



ดูรายละเอียด เว็บไซต์
« ตอบ #16 เมื่อ: 03 มิถุนายน 2007, 18:57:51 »

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

รับทำเทมเพลท รับโมเทมเพลทให้เข้ากับสคริปต์ต่างๆ


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

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 868



ดูรายละเอียด
« ตอบ #17 เมื่อ: 13 มิถุนายน 2007, 20:34:47 »

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


คืออะไรเหรอครับ  Huh?
บันทึกการเข้า
aomnaruk
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 1,245



ดูรายละเอียด
« ตอบ #18 เมื่อ: 13 มิถุนายน 2007, 21:24:32 »

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

ใช้วิธีแบบเดียวกันเลย 5555+ เล่นง่ายมากๆ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์