MySQL ไปยัง Maria DB: คู่มือการย้ายข้อมูลฉบับย่อสำหรับ Debian

เมื่อผลิตภัณฑ์ที่ใช้งานได้และคุ้มค่าและเป็นโอเพ่นซอร์สตกอยู่ในมือของ บริษัท ที่มีเป้าหมายเพื่อสร้างรายได้มากขึ้นเรื่อย ๆ โลกก็สั่นสะเทือน

มันเกิดขึ้นแล้วกับ OpenOffice ในเวลานั้นและตอนนี้ก็ถึงคราวของ MySQL. แบริ่งถึง คำพยากรณ์ เบื้องหลังไม่มีใครรู้ว่าอะไรจะเกิดขึ้นได้และเป็นเรื่องดีที่รู้ว่ามีทางเลือกอื่นและโดยเฉพาะสิ่งที่ดีที่สุด มาเรีย DB.

อ้างถึง Wikipedia:

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

ดังนั้นโดยไม่ต้องกังวลใจต่อไปเรามาดูวิธีการจาก MySQL a มาเรีย DB.

สิ่งสำคัญคือต้องรู้ว่าเพื่อให้สิ่งนี้ทำงานได้ 100% เราต้องมี MySQL (5.5) และ Maria DB (5.5) เวอร์ชันเดียวกัน

การย้ายจาก MySQL ไปยัง Maria DB

กระบวนการนี้ไม่สามารถทำได้ร้อน กล่าวอีกนัยหนึ่งเราต้องหยุดบริการและกระบวนการที่กำลังดำเนินการชั่วขณะ MySQL.

# service stop apache2 # service stop nginx # service stop mysql

ในกรณีนี้เราจะหยุด Apache หรือ NGinx ขึ้นอยู่กับว่าเราใช้อันไหนอยู่และแน่นอนว่าเราจะหยุด MySQL ด้วย

ต่อมาเราทำการสำรองฐานข้อมูล MySQL ของเรา:

# mysqldump -u root -p --all-databases > mysqlbackup.sql

และเราลบแพ็คเกจทั้งหมดที่เกี่ยวข้องกับ MySQL:

# aptitude remove mysql-server-core-5.5 mysql-server-5.5 mysql-server mysql-common mysql-client-5.5 libmysqlclient18

ตอนนี้เราต้องติดตั้ง Maria DB น่าเสียดายที่ยังไม่ได้อยู่ในที่เก็บ Debian แต่เราสามารถติดตั้งได้โดยใช้ที่เก็บของตัวเอง สำหรับการแจกแจงอื่น ๆ คุณสามารถดูไฟล์ คำแนะนำที่นี่.

เราเพิ่มสิ่งต่อไปนี้ในไฟล์ /etc/sources.list ของเรา:

# รายการที่เก็บ MariaDB 5.5 - สร้างเมื่อ 2013-08-02 13:48 UTC # http://mariadb.org/mariadb/repositories/ deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian wheezy หลัก deb-src http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian หลัก

จากนั้นเราอัปเดตและติดตั้ง Maria DB:

sudo aptitude update sudo apt-get install mariadb-server

เราเริ่ม Maria DB (หากไม่ได้ทำโดยอัตโนมัติ) และตรวจสอบว่าใช้งานได้:

# mysql -u root -p -Be 'แสดงฐานข้อมูล' ป้อนรหัสผ่าน:

การตั้งค่าบางอย่างมีการเปลี่ยนแปลงอย่างมากระหว่าง MySQL และ MariaDB แต่ใช้งานได้ง่ายมาก เกือบทุกอย่างที่เปลี่ยนไปเกี่ยวข้องกับกลไกที่ถูกแทนที่ตัวอย่างเช่นการจำลองแบบ เราต้องคัดลอกตัวเลือกการเพิ่มประสิทธิภาพการทำงานที่เรามีในไฟล์เท่านั้น my.cnf de MySQLและกำหนดค่าส่วนที่เหลือใหม่ด้วยมือ

ตัวอย่างเช่นข้อมูลเหล่านี้:

bind-address = 127.0.0.1 max_connections = 10 connect_timeout = 30 wait_timeout = 600 max_allowed_packet = 16M thread_cache_size = 256 OR sort = 16M bulk_insert_buffer_size = 16M tmp_table_size = 64M max_heap_table_size = 64M

เราทำการเปลี่ยนแปลงที่จำเป็นและรีสตาร์ท Maria DB

# service mysql รีสตาร์ทการหยุดเซิร์ฟเวอร์ฐานข้อมูล MariaDB: mysqld การเริ่มต้นเซิร์ฟเวอร์ฐานข้อมูล MariaDB: mysqld . . กำลังตรวจสอบความเสียหายไม่ได้ปิดอย่างหมดจดและจำเป็นต้องอัพเกรดตาราง .. # mysql -u root -p -Be 'show databases' Enter password:

ถ้า มาเรีย DB ใช้ชื่อ mysql เดิมเพื่อเริ่มบริการใหม่เพื่อรักษาความเข้ากันได้ที่ดีขึ้น หากทุกอย่างเรียบร้อยเราจะเริ่มบริการที่เหลือ:

# service apache2 start # service nginx start

และพร้อม. หากเราต้องการย้อนกลับ (ซึ่งฉันไม่แนะนำ) เราก็ต้องเรียกใช้:

# service mysql stop # apt-get ลบ mariadb-server-5.5 mariadb-common mariadb-client-5.5 libmariadbclient18 # apt-get install mysql-server

ที่มา: บทความที่นำมาและแก้ไขจาก BeginLinux