วิธีดรอปอินแทนที่ MySQL ด้วย MariaDB


18

ฉันมีฐานข้อมูล MySQL หลายตัวที่ทำงานบนเซิร์ฟเวอร์ Ubuntu 14.04 ของฉันแล้วและฉันต้องการย้ายฐานข้อมูลเหล่านี้อย่างราบรื่นที่สุดเท่าที่จะเป็นไปได้กับ MariaDB ที่เข้ากันได้ ฉันใช้ PHPMyAdmin ด้วย มีวิธีการอื่นที่แตกต่างจากการส่งออกข้อมูลทั้งหมดและนำเข้าทั้งหมดอีกครั้งหลังการติดตั้งหรือไม่

คำตอบ:


31

มันกลายเป็นเรื่องง่ายเหมือน:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mariadb-server

สิ่งนี้จะไม่ทำลาย phpmyadmin ของคุณหรือ webapp ใด ๆ ตราบใดที่คุณปฏิเสธเมื่อถูกถามว่าคุณต้องการลบฐานข้อมูลของคุณหรือไม่และคุณใช้ข้อมูลประจำตัวเดียวกันกับที่คุณใช้กับคุณ mysql-DB สำรองข้อมูลของคุณก่อนทำสิ่งนี้


แล้วการตั้งค่าการโยกย้ายล่ะ แน่นอนว่าสถานที่เหล่านี้มีการกำหนดค่าแยกต่างหากใน / etc และ (น่าจะ) ไวยากรณ์การกำหนดค่าที่แตกต่างกันหรือไม่
thomasrutter

1
มันจะโยกย้ายการตั้งค่าโดยอัตโนมัติ แต่เตือนคุณเกี่ยวกับความไม่เข้ากันที่เป็นไปได้เมื่อติดตั้ง mariadb
Andreas Hartmann

2
มันไม่ได้ขอให้ฉันมีตัวเลือกในการลบฐานข้อมูลใด ๆ รวมทั้งใช้ my.cnf เก่าของฉันเป็นการกำหนดค่าฐาน นี่เป็นหนึ่งในการอัพเกรดที่ราบรื่นที่สุดเท่าที่ฉันเคยทำมา
Arda

นอกจากนี้ยังพูดถึงเว็บไซต์อย่างเป็นทางการของ MariaDB มีรุ่นใหม่ที่พร้อมใช้งานสำหรับการติดตั้งเป็นที่เก็บหรือบส์ Ubuntu repos ในปัจจุบันให้ฉัน v5.5 แต่ mariadb repos ให้ฉัน v10.1 ซึ่งมีความแตกต่างกันเล็กน้อย
Arda

1
เมื่อคุณถอนการติดตั้ง MySQL มันควรจะถามคุณว่าจะลบฐานข้อมูลหรือไม่
Andreas Hartmann

1

คำตอบของ Andreas Hartmann นั้นไม่สมบูรณ์และยังลบ PHPMYADMIN และ MYSQLI

ดังนั้นนอกเหนือจากmariadb-serverแล้วคุณควรติดตั้งสิ่งต่อไปนี้:

apt-get install mariadb-client libmariadbclient-dev libmariadbd-dev phpmyadmin

ในการทำให้ phpMyAdmin ทำงานอีกครั้งบน SSL เท่านั้นคุณจะต้องกำหนดค่าetc / phpmyadmin / apache.conf ใหม่เพื่อรวม http => https rewrite

หากคุณใช้เซิร์ฟเวอร์ LAMP พร้อม Postfix กับ Dovecot คุณจะต้องทำสิ่งต่อไปนี้:

**** Everything worked except MAIL.  Dovecot not configured properly and can’t send/receive mail.
apt-get install dovecot-mysql       fixed mail receipt but sending is still blocked.
apt-get install libclass-dbi-mysql-perl
apt-get install php-auth
apt-get install php-pear
apt-get install postfix-mysql
**** EVERYTHING WORKING FINE HERE

คำสั่ง apt-get สาม (3) ล่าสุดอาจไม่จำเป็นเนื่องจากlibclass-dbi-mysql-perlอาจติดตั้งให้คุณขึ้นอยู่กับการอัพเดตรายการแพ็คเกจของคุณ

หากคุณใช้งานซอฟต์แวร์อื่นคุณจะต้องทดสอบและติดตั้งไลบรารีที่ขาดหายไปซึ่งอาจถูกลบออกโดยการคำนวณการพึ่งพาอัตโนมัติ

อัปเดต
บริการ FTP ก็ถูกลบเช่นกัน (PureFTPD ในกรณีของฉัน) และจำเป็นต้องติดตั้ง: apt-get install pure-ftpd-common pure-ftpd-mysql


2
ที่จริงแล้วสำหรับฉัน phpmyadmin ไม่ได้ถูกลบออก นอกจากนี้ฉันสงสัยว่าคุณจะต้องใช้แพ็คเกจเหล่านี้เพื่อให้เซิร์ฟเวอร์ทำงานโดยเฉพาะแพ็คเกจ dev เหล่านี้มีไว้สำหรับนักพัฒนาและไม่ใช่สำหรับผู้ใช้ปลายทาง
Andreas Hartmann
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.