คำถามติดแท็ก mysql-replication

การจำลองแบบช่วยให้สามารถจำลองข้อมูลจากเซิร์ฟเวอร์ฐานข้อมูล MySQL (ตัวหลัก) ไปยังเซิร์ฟเวอร์ฐานข้อมูล MySQL อย่างน้อยหนึ่งเซิร์ฟเวอร์ (ทาส)

10
ฉันจะส่งออกสิทธิพิเศษจาก MySQL แล้วนำเข้าสู่เซิร์ฟเวอร์ใหม่ได้อย่างไร
ฉันรู้วิธีการส่งออก / นำเข้าฐานข้อมูลโดยใช้ mysqldump & ทำได้ดี แต่ฉันจะได้รับสิทธิพิเศษในเซิร์ฟเวอร์ใหม่ได้อย่างไร สำหรับจุดพิเศษนั้นมีฐานข้อมูลอยู่สองสามตัวในฐานข้อมูลใหม่แล้วฉันจะนำเข้าสิทธิ์เซิร์ฟเวอร์เก่าโดยไม่ต้องทำสองวิธีที่มีอยู่ เซิร์ฟเวอร์เก่า: 5.0.67-community เซิร์ฟเวอร์ใหม่: 5.0.51a-24 + lenny1 แก้ไข: ฉันมีการถ่ายโอนข้อมูลของ db 'mysql' จากเซิร์ฟเวอร์เก่าและตอนนี้ต้องการทราบวิธีที่เหมาะสมในการผสานกับ 'mysql' db บนเซิร์ฟเวอร์ใหม่ ฉันลอง 'นำเข้า' โดยตรงโดยใช้ phpMyAdmin และลงเอยด้วยข้อผิดพลาดเกี่ยวกับรายการซ้ำ (อันที่ฉันได้ทำการย้ายด้วยตนเองแล้ว) ใครมีวิธีที่สวยงามในการรวมฐานข้อมูล 'mysql' สองอันเข้าด้วยกัน?

5
ทาสของ MySQL สามารถเป็นหลักในเวลาเดียวกันได้หรือไม่?
ฉันอยู่ในขั้นตอนการโอนย้ายเซิร์ฟเวอร์ 2 DB (Master & Slave) ไปยังเซิร์ฟเวอร์ DB สองเครื่องใหม่ (Master และ Slave) DB1 - ปริญญาโท (การผลิต) DB2 - Slave (การผลิต) DB3 - ปรมาจารย์ใหม่ DB4 - Slave ใหม่ ขณะนี้ฉันมีการจำลองแบบตั้งค่าเป็น: DB1 -> DB2 DB3 -> DB4 หากต้องการรับข้อมูลการผลิตที่จำลองแบบไปยังเซิร์ฟเวอร์ใหม่ฉันต้องการรับ "daisy chained" เพื่อให้มีลักษณะดังนี้: DB1 -> DB2 -> DB3 -> DB4 เป็นไปได้ไหม เมื่อฉันรันshow master status;บน DB2 …

4
การจำลองแบบ MySQL Master-Master ของฐานข้อมูลทั้งหมด อย่างไร?
ความเป็นมา : ฉันมีการติดตั้งเซิร์ฟเวอร์ MySQL 5.1 สองตัวในการจำลองแบบแถวตามแถวต้นแบบ (Master-Master-replication) (RBR) ตามแนวทางที่ยอดเยี่ยมนี้ ฉันต้องการให้จำลองฐานข้อมูลทั้งหมดและจะเพิ่มฐานข้อมูลใหม่เป็นประจำ เป้าหมาย : ฉันต้องการเพิ่มฐานข้อมูลใหม่ลงในการจำลองแบบโดยเพิ่ม DB ไปยังหนึ่งในเซิร์ฟเวอร์ โดยไม่ต้องหยุดทั้งทาสเปลี่ยนไฟล์กำหนดค่ารีสตาร์ทเซิร์ฟเวอร์ MySQL และเริ่มทาสอีกครั้ง คำถาม : จากสิ่งที่ฉันได้อ่านฉันคิดว่าฉันสามารถทำเช่นนี้โดยเพียงแค่การละเว้นใด ๆbinlog-do-db, binlog-ignore-db, replicate-do-dbและreplicate-ignore-dbการตั้งค่าในการกำหนดค่าเซิร์ฟเวอร์แต่ละ แต่ฉันไม่สามารถตรวจสอบ เอกสารของ MySQL เกี่ยวกับวิธีการประเมินตัวเลือกการจำลองแบบฐานข้อมูลและระดับตารางทำให้ฉันคิดว่าอาจจะไม่มีทางทำสิ่งนี้ให้สำเร็จได้ บางส่วนของ/etc/mysql/my.cnfไฟล์ที่เกี่ยวข้องจะถูกคัดลอกด้านล่าง ฉันกำลังติดตามใช่ไหม? เป็นสิ่งที่ฉันต้องการแม้เป็นไปได้? ปรมาจารย์ 1 : [mysqld] binlog-format = row server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 …

2
มันจะโอเคที่จะทำซ้ำฐานข้อมูล `mysql 'หรือไม่?
เมื่อฉันเริ่มตั้งค่าการจำลองแบบต้นแบบถึงต้นแบบฉันใช้: binlog-ignore-db=mysql และได้รับการซิงค์บัญชีผู้ใช้และมอบด้วยตนเอง นี่เป็นเพียงวิธีการทำในวิธีการที่ฉันใช้ในขณะนั้น แต่มีเหตุผลใดที่ฉันไม่ควรลบบรรทัดนี้และอนุญาตให้mysqlฐานข้อมูลตัวเองทำซ้ำเช่นกัน? ถ้าเป็นเช่นนั้น: ก่อนที่ฉันจะทำการเปลี่ยนแปลงนอกจากให้แน่ใจว่าทุนทั้งหมดเหมือนกันทั้งสอง (หรือระบุไว้ดีกว่าว่าฐานข้อมูล mysql ทั้งหมดเหมือนกัน) มีอะไรอีกบ้างที่ฉันควรตรวจสอบอีกครั้งหรือระวัง?

5
ป้องกันการจำลองแบบไม่เขียนไปยัง MySQL ทาส?
เรามีเซิร์ฟเวอร์ฐานข้อมูล MySQL ตั้งค่าด้วยการจำลองแบบแถวเพื่อประสิทธิภาพ ซอฟต์แวร์เขียนไปยังต้นแบบและอ่านจากทั้งต้นแบบหรือทาส ทุกอย่างทำงานได้ดีส่วนใหญ่ ฉันเข้าใจว่า MySQL จะอนุญาตให้เขียนถึงทาสแม้ว่ามันจะรู้ว่ามันเป็นทาสของ MySQL ก็ตาม เป็นการดีที่ฉันจะปิดเช่นนี้ดังนั้นถ้ามีคนเขียนโค้ดที่ไม่ดีที่ได้รับการเชื่อมต่อแบบอ่านและทำUPDATEมันจะทำให้เกิดข้อผิดพลาดแทนที่จะใส่ข้อมูลลงบนทาส มีวิธีทำใน MySQL หรือไม่ เห็นได้ชัดว่าเราต้องการทำให้สิ่งนี้เป็นไปไม่ได้จากซอฟต์แวร์ของเราเช่นกัน แต่เช่นเดียวกับไฟร์วอลล์บนเซิร์ฟเวอร์ของเราฉันต้องการจะป้องกันให้มากที่สุด ขอบคุณ!

5
ฉันสามารถรัน mysqld ที่ด้านบนของ glusterfs ได้หรือไม่
ฉันเพิ่งเล่นกับ glusterfs เมื่อเร็ว ๆ นี้ สิ่งที่ฉันต้องการลองคือรัน mysqld ที่ด้านบนของ glusterfs ด้วยวิธีที่คล้ายกันเพราะมันสามารถรันMySQL ที่ด้านบนของ DRBDได้ ฉันคุ้นเคยกับการจำลองแบบ MySQL และข้อดีของการใช้วิธีนี้แทนที่จะใช้วิธีนี้และฉันก็ตระหนักถึง MongoDB และโซลูชั่น NoSQL อื่น ๆ อย่างไรก็ตามมันจะเป็นวิธีแก้ปัญหาง่ายๆสำหรับโครงการเฉพาะบางโครงการที่ฉันมีอยู่ถ้าฉันสามารถออกจาก MySQL ได้และทำซ้ำระบบไฟล์พื้นฐาน เป็นไปได้หรือไม่และเป็นไปได้อย่างไร

3
วิธีการตั้งค่าการจำลองแบบ MySQL ด้วยการหยุดทำงานน้อยที่สุด
โดยพื้นฐานแล้วเรามีฐานข้อมูล MySQL ขนาดใหญ่และเรากำลังมองหาการจำลองแบบไปเป็นทาส (การตั้งค่าทาสหลัก) พวกคุณมีคู่มือทีละขั้นตอนเกี่ยวกับวิธีการทำเช่นนี้กับการหยุดทำงานน้อยที่สุดในฐานข้อมูลหรือไม่ การสำรองฐานข้อมูลและถ่ายโอนข้อมูลสำรองไปยังเซิร์ฟเวอร์ทาส (แม้ผ่านเครือข่ายส่วนตัว) ใช้เวลาประมาณ 40 นาทีหรือมากกว่านั้น ค่อนข้างหยุดทำงานนาน

5
ทำให้เกิดข้อผิดพลาด MySQL 1062 อะไร - รายการที่ซ้ำกันเมื่อเริ่มต้นทาส?
รุ่น MySQL หลัก: 5.5.16-1 MySQL Slave เวอร์ชั่น: 5.5.18-1 สแนปชอตของต้นแบบถูกสร้างโดย: mysql> FLUSH TABLES WITH READ LOCK; shell> mysqldump --all-databases --master-data > dbname_`date +%F`.sql ไฟล์ดัมพ์นี้ถูกอิมพอร์ตบนสลาฟ (ซึ่งเริ่มด้วย--skip-slave-startตัวเลือก) โดยไม่มีข้อผิดพลาด: shell> pv dbname_`date +%F`.sql | mysql -u root -p แต่ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อดำเนินการmysql> start slave;: Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '115846' for key 'PRIMARY'' on query. Default …

3
การจำลองแบบ MySQL ข้ามเซิร์ฟเวอร์ที่แยกทางภูมิศาสตร์
องค์กรของฉันกำลังมองหาวิธีกระจายเซิร์ฟเวอร์ของเราไปทั่วบริเวณทางภูมิศาสตร์ในขณะที่สำรองข้อมูลให้ทันสมัยอยู่เสมอและกระจายการโหลดอย่างสมบูรณ์แบบ สิ่งแรกที่ฉันมีในใจคือ Rails บน MySQL อัตราการเขียนไม่สูงเกินไป (บทความ / ความคิดเห็นถูกทิ้งไว้ที่น้อยกว่า 1 ต่อนาทีแม้ว่าบางคนจะมีไฟล์แนบขนาดใหญ่) ดังนั้น, ทำซ้ำ MySQL ทำงานได้ดีในเครือข่ายบริเวณกว้าง? การเชื่อมต่อ (หรือทาสเซิร์ฟเวอร์) หยุดทำงานหมายความว่าต้องการการแทรกแซงด้วยตนเอง (เมื่อเซิร์ฟเวอร์สองเครื่องสามารถพูดคุยกันอีกครั้ง) หรือการกู้คืนอัตโนมัติ หากต้นแบบหายไปสิ่งที่จำเป็นในการเปลี่ยนทาสให้เป็นเจ้านายคืออะไร? มีสคริปต์ / เครื่องมือมาตรฐานที่จะช่วยจัดการหรือไม่ gotchas อื่น ๆ อื่น ๆ ?

1
การจำลองแบบ MySQL และการให้ความสำคัญกับการอัพเดท
ฉันมีเซิร์ฟเวอร์หลักที่ฉันต้องการปรับเปลี่ยนการดำเนินการเช่น UPDATE ให้เป็น LOW_PRIORITY เพื่อที่พวกเขาจะไม่ได้บล็อกการเลือกเป็นต้นซึ่งจะดีกว่าสำหรับพฤติกรรมที่ผู้ใช้ปลายทางมองเห็นได้ ฉันมีเซิร์ฟเวอร์ทาสที่ฉันทำการประมวลผลแบบแบทช์และฉันไม่สนใจการจัดลำดับความสำคัญของ SELECTs ในการอัปเดต ในความเป็นจริงเนื่องจากทาสใช้ UPDATE และเรียกใช้งานเป็น LOW_PRIORITY และการจำลองแบบเป็นเธรดเดียวสิ่งที่เกิดขึ้นคือการประมวลผลแบบกลุ่มมีแนวโน้มที่จะชะลอการจำลองแบบ ในอุดมคติของเซิร์ฟเวอร์ทาสนี้ฉันจะบอกให้ MySQL จัดลำดับความสำคัญของการอัปเดตด้านบน SELECT เพื่อให้เซิร์ฟเวอร์ทั้งสองอยู่ในสถานะซิงค์โดยมีค่าใช้จ่ายในการชะลอการดำเนินการแบทช์ของฉันเล็กน้อย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.