Posts Tagged ‘MySQL’

mysqldump to CSV

ถ้าหากเคยใช้ MySQL กันมาบ้าง อาจจะเคยใช้คำสั่ง mysqldump ซึ่งเป็นคำสั่งที่ช่วยเอาข้อมูลจากฐานข้อมูลมาเก็บอยู่ในรูปของไฟล์ ปกติแล้วการ dump ข้อมูลออกมาจะนิยมเก็บในรูปของ sql statement เนื่องจากเอาไปใช้ต่อได้ง่าย เช่น การ backup หรือ การคัดลอกฐานข้อมูล
แต่ถ้าหากต้องการข้อมูลในรูปแบบอื่นที่ไม่ใช่ SQL statement เช่นในรูปแบบ CSV file เพื่อสามารถนำไป import เข้า excel หรือฐานข้อมูลอื่นที่ไม่ใช่ MySQL หรือให้คนอ่านได้ง่าย เราสามารถทำได้ดังนี้
mysqldump -u<username> -p -t -T ./<dir> <database>
<table> –fields-enclosed-by=\" –fields-terminated-by=,
<username>
คือ username ที่ใช้เชื่อมต่อกับฐานข้อมูล
<dir>
คือชื่อ directory ที่จะใช้เก็บข้อมูล
<database>
คือชื่อ database ที่ต้องการ dump
<table>
คือชื่อ table ที่ต้องการ dump

Continue reading »

MySQL benchmark

ลองทำ MySQL benchmark ด้วยโปรแกรม sysbench มี 3 version ซึ่งใช้ patch ต่างกัน มีของ Google Percona และของเดิมๆจาก Gentoo portage โดยทำการทดสอบบน Intel Quad core (Q6600) 2.4GHz Ram 4GB version ของ MySQL ต่างกันนิดหน่อย เพราะ patch ที่ออกมาไม่เท่ากัน แต่ใช้ MySQL configuration เดียวกัน ไม่ได้ tune อะไรเป็นพิเศษ เท่าที่ดูจากกราฟของเดิมๆจาก Gentoo ดูดีที่สุด กราฟสีแดงเป็นของแถม ซึ่งเป็น MySQL ที่ติดตั้งบน Xeon Quad (X3320) server Ram 4GB ลง Debian [...]

Continue reading »

อาการแปลกๆของ MySQL บน Xeon quad-core

เรื่องมีอยู่ว่า ผมทำ benchmark MySQL เพื่อให้แน่ใจว่ามันสามารถรับ load ได้จริง แต่เนื่องจากยุคนี้เป็นยุคของ Multi-cores การขยาย CPU จะไม่แข่งกันด้วย clock แต่จะแข่งกันที่จำนวน core ของ CPU โปรแกรมก็ต้องปรับเปลี่ยนเพื่อให้สามารถทำงานได้ดีบนจำนวน core ที่มากขึ้นเหล่านี้
MySQL เป็น database server ตัวหนึ่งที่ทำงานในลักษณะของ multi-threads ซึ่งจะถูก OS กระจาย thread ไปทำงานในแต่ละ core ของ CPU ผมได้ยินมาว่า MySQL ทำงานได้ไม่ดีนักกับจำนวน thread มากๆ มีหลายคนที่พยายามจะแก้ข้อจำกัดนี้ หนึ่งในนั้นคือ google ซึ่งมี code อยู่บน google code โดยจะมี patch เพื่อแก้ปัญหานี้
เดิมผมมี MySQL ทำงานอยู่บนเครื่อง PC Quad-core (Q6600) เครื่องหนึ่ง [...]

Continue reading »