Service MySQL จะทำงานทุกครั้งที่บูตเครื่อง แนะนำให้ปิดบริการนี้ที่เครื่อง Data Node ทุกเครื่อง
ที่ Data Nodes ให้ service mysql stop
สั่ง chkconfig mysql off ไว้
Log File ที่สำคัญ
Log หลักของคลัสเตอร์
/var/lib/mysql-cluster/ndb_99_cluster.log
การตรวจหาข้อผิดพลาด
ให้ท่านดูล็อกไฟล์ที่ /var/lib/mysql-cluster/ndb_99_cluster.log เช่นบนลีนุกซ์ให้ใช้คำสั่ง tail -f เพื่อดูข้อความล็อกตลอดเวลา ดังต่อไปนี้ tail -f /var/lib/mysql-cluster/ndb_99_cluster.log
นอกจากนั้นยังมีล็อกไฟล์อื่นๆ ที่ปรากฎขึ้นตามเครื่องนั้น ๆ ดังต่อไปนี้
ที่เครื่อง Data Node ในตำแหน่ง Data Directory เช่นในเครื่องที่มี id=1 ในตำแหน่ง /usr/local/mysql/data จะล็อกไฟล์ของเครื่องนั้น ๆ เช่น ไฟล์ ndb_1_out.log และ ndb_1_error.log เป็นต้น เราสามารถติดตามอ่านเพื่อนำมาวิเคราะห์และตัดสินใจแก้ปัญหาได้
แนะนำเครื่องมือ
การทำ replication จากคลัสเตอร์ไปยังคลัสเตอร์หรือ single server
นึกภาพว่าปรกติการทำงาน replication จะอาศัยการอ่านค่าจาก bin-log มาทำงานซ้ำที่เครื่อง slave แต่คราวนี้ ในคลัสเตอร์เรามีเครื่อง SQL nodes หลายเครื่อง แต่ละเครื่องก็อาจมีการกระทำการกับข้อมูลต่างกันไป เครื่องหนึ่งกำลัง Insert อีกเครื่องกำลัง Update อีกตาราง หากเรา sync bin-log จากเครื่องใดเครื่องหนึ่ง ก็จะได้การเปลี่ยนแปลงที่ไม่ครบ ครั้นจะ sync จากหลายเครื่องก็ไม่รู้จะทำได้หรือไม่
MySQL Cluster เตรียมการนี้ไว้ให้ด้วยวิธีการสร้างตารางขึ้นมาเก็บ bin-log ซึ่งจะอัพเดทสถานะจากทุก SQL node จากนั้น slave ก็นำ bin-log จากเครื่อง master เครื่องเดียวมาทำซ้ำก็จะได้ข้อมูลครบถ้วนสมบูรณ์
ที่ Data Node
[DataDir]/ndb_[ID]_out.log
ที่ MySQL Node
/var/lib/mysql/[HOSTNAME].err
workshop 3
- เพิ่มตัวอย่างการ select * from actor;
/var/www/html/select_actor.php
service httpd start
http://www.clusterkit.co.th/
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
คำสั่ง ndb_mgmd จะคอมไพล์ไฟล์ config.ini เป็น binary ไฟล์ โดยจะเก็บอยู่ในไดเรกทอรี /usr/mysql-cluster ในชื่อไฟล์ว่า ndb_99_config.bin.1, ndb_99_config.bin.2
หมายเลขสุดท้ายบ่งบอกถึงเวอร์ชั่นของคอนฟิก
หากเราสั่ง ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload โปรแกรม ndb_mgmd ก็จะคอมไพล์ไฟล์ config.ini แล้วเราจะได้ binary config เวอร์ชั่นใหม่เพิ่มขึ้นมา
แต่ถ้าหากเราสั่ง ndb_mgmd -f /var/lib/mysql-cluster/config.ini โดยไม่มี option reload ระบบจะอ่านไฟล์ไบนารีจาก /usr/mysql-cluster นั่นหมายความว่าจริง ๆ แล้วเราสั่งแค่ ndb_mgmd ก็ได้เหมือนกัน เพราะเมื่อระบบพบว่ามีไบนารีคอนฟิกกูเรชั่นอยู่จะเอาจากที่นี่ขึ้นมาทำงานเสมอ
แนะนำการใช้ workbench ในการคอนฟิก