พื้นหลัง
หลัง Oracle ซื้อ MySQL ชุมชนพัฒนา MariaDB เป็น Drop-in Replacement ที่ Open Source จริง และ Relative Compatibility สูง มากับ MySQL การ Migrate จึงตรงไปตรงมา
Distro หลัก (RHEL, CentOS, Fedora) เปลี่ยนมาใช้ MariaDB เป็น Default แล้ว
ขั้นตอนการ Migrate
1. เตรียมข้อมูลทดสอบ (Optional)
# mysql -uroot -p
mysql> CREATE DATABASE test1;
mysql> USE test1;
mysql> CREATE TABLE tab1(name VARCHAR(30), owner VARCHAR(30), species VARCHAR(20), sex CHAR(1));
mysql> INSERT INTO tab1 VALUES('Chandra','Prakash','Kadarla','m'),('Srinvas','Kadarla','Chary','m');
mysql> QUIT;
2. Backup MySQL Database
# mysqldump --all-databases --user=root --password --master-data > backupDB.sql # cp /etc/mysql/my.cnf /opt/my.cnf.bak # Backup Config
3. Uninstall MySQL
# service mysqld stop # yum remove mysql-server mysql-client mysql-common
4. ติดตั้ง MariaDB
เพิ่ม Repository (CentOS 7 ตัวอย่าง):
# sudo vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = https://yum.mariadb.org/5.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
# yum install MariaDB-server MariaDB-client
5. คืนค่า Config และ Start Service
# cp /opt/my.cnf /etc/mysql/ # service mariadb start
6. Import Database
# mysql -u root -p < backupDB.sql
7. ตรวจสอบข้อมูล
# mysql -u root -p MariaDB> SHOW DATABASES; MariaDB> USE test1; MariaDB> SELECT * FROM tab1;
+---------+---------+---------+------+ | name | owner | species | sex | +---------+---------+---------+------+ | Chandra | Prakash | Kadarla | m | | Srinvas | Kadarla | Chary | m | +---------+---------+---------+------+
ข้อควรพิจารณาเพิ่มเติม
- Version Compatibility: MariaDB 10.x ≈ MySQL 5.7/8.0 ตรวจสอบ Release Notes
- Storage Engines: MariaDB มี Engine เพิ่ม (ColumnStore, Spider, MyRocks)
- Authentication: MariaDB ใช้
unix_socketplugin default (root login ไม่ต้อง Password บน localhost) - Configuration: ไฟล์ Config อาจต่างชื่อ/ตำแหน่ง (
/etc/my.cnf.d/) - Replication: GTID Implementation แตกต่าง ต้อง Setup ใหม่
MariaDB 10.11+ (Latest LTS) Repository
# curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash # yum install MariaDB-server MariaDB-client
สรุป
Migration MySQL → MariaDB ทำได้ง่ายด้วย mysqldump + リストア เนื่องจาก Binary Compatibility สูง แต่วิธีที่ดีที่สุดคือทดสอบบน Staging Environment ก่อน Production เสมอ