ฉันจะติดตั้งอย่างปลอดภัยได้อย่างไร
มันจะยุ่งยากเสมอ
โปรดอ่านหน้าความเข้ากันได้ 5.5 / 5.6ก่อนที่จะทำอะไร ใจ 1 ความแตกต่างใหญ่ระหว่าง 2:
เริ่มต้นด้วย MySQL 5.6.6 พารามิเตอร์เซิร์ฟเวอร์ MySQL หลายตัวมีค่าเริ่มต้นที่แตกต่างจากรุ่นก่อนหน้า แรงจูงใจสำหรับการเปลี่ยนแปลงเหล่านี้คือการให้ประสิทธิภาพที่ดีกว่าและช่วยลดความต้องการสำหรับผู้ดูแลระบบฐานข้อมูลเพื่อเปลี่ยนการตั้งค่าด้วยตนเอง การเปลี่ยนแปลงเหล่านี้อาจมีการแก้ไขที่เป็นไปได้ในรุ่นอนาคตในขณะที่เราได้รับข้อเสนอแนะ
หนึ่งในการเปลี่ยนแปลงครั้งใหญ่คือ 5.5 ใช้ 1 ไฟล์ขนาดใหญ่เป็นบันทึกธุรกรรมและ 5.6 ใช้หลายไฟล์:
ดังนั้นหากคุณกำลังอัพเกรดการติดตั้ง MySQL ที่มีอยู่แล้วยังไม่ได้เปลี่ยนค่าของพารามิเตอร์เหล่านี้จากค่าเริ่มต้นก่อนหน้านี้และความกังวลเกี่ยวกับความเข้ากันได้แบบย้อนหลังคุณอาจต้องการตั้งค่าพารามิเตอร์เหล่านี้เป็นค่าเริ่มต้นก่อนหน้า ตัวอย่างเช่นวางบรรทัดเหล่านี้ในไฟล์ตัวเลือกเซิร์ฟเวอร์:
[mysqld]
innodb_file_per_table=0
innodb_checksum_algorithm=INNODB
binlog_checksum=NONE
หากคุณใช้การจำลองแบบให้ความสนใจกับส่วนนี้ของลิงค์:
หากต้องการอัปเกรดเซิร์ฟเวอร์ที่ใช้สำหรับการจำลองให้อัปเกรดทาสก่อนจากนั้นจึงทำการอัปเกรดต้นแบบ การจำลองแบบระหว่างต้นแบบและทาสควรทำงานโดยมีเงื่อนไขว่าทุกคนใช้ค่าเดียวกันของ
นำทาสมาอัปเกรดตั้งค่าพวกเขาด้วยค่าที่ต้องการของ clear_defaults_for_timestamp
ทาสจะรับรู้จากรูปแบบของบันทึกไบนารีที่ได้รับจากต้นแบบว่าต้นแบบเก่ากว่า (มีการแนะนำของ
นำต้นแบบลงมาอัพเกรดและกำหนดค่าด้วยค่า clear_defaults_for_timestamp เดียวกันที่ใช้กับทาสและนำกลับมาใช้ใหม่
หากนี่เป็นเซิร์ฟเวอร์ที่ใช้งานจริงฉันจะแนะนำให้ลองใช้กับเครื่องทดสอบก่อน เรามีการเปลี่ยนแปลงที่ค่อนข้างยากจาก 5.5 เป็น 5.6 และเลือกที่จะติดตั้งเครื่องอื่นที่ติดตั้งด้วย 5.6 และใช้ mysldump เพื่อสร้างการสำรองข้อมูลและโหลดลงในฐานข้อมูลของเราบนเครื่องนั้น โปรดทราบว่าการดำเนินการนี้จะใช้เวลานานหากคุณมีฐานข้อมูลขนาดใหญ่ (เนื่องจากการสันทนาการของไฟล์ธุรกรรม innodb)
วิธีการทั่วไป:
- ใช้ mysqldump เพื่อสร้างการสำรองข้อมูลของฐานข้อมูลของคุณ (ผู้ใช้โครงสร้างที่มีความเสถียรและข้อมูลตาราง) และไฟล์ config ของคุณ (อาจเป็น /etc/mysql/my.cnf)
- ลบ 5.5 หลังจากลบ 5.5 ตรวจสอบว่าไฟล์ธุรกรรม innodb หายไป (ibdata1, ib_logfile0 และ ib_logfile1) ในฐานะที่ 5.6 ใช้เวอร์ชันการทำธุรกรรมที่ดีกว่าฉันคิดว่าคุณจะใช้สิ่งนี้ ...
- ติดตั้ง 5.6
- เปลี่ยนไฟล์กำหนดค่าใหม่และเพิ่มสิ่งที่คุณเปลี่ยนแปลงเป็น 5.5 (โปรดทราบว่าลิงก์ด้านบนและตรวจสอบว่าการเปลี่ยนแปลงใด ๆ ไม่ถูกต้อง)
- อัปโหลดสำเนาสำรองของคุณเป็น 5.6 (ผู้ใช้ก่อน) โปรดทราบว่าอาจใช้เวลาสักครู่เนื่องจากจะสร้างไฟล์ธุรกรรมใหม่
ในคำสั่ง (หลังจากทำการสำรองข้อมูล):
sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6