Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะย้าย MySQL ไปยัง MariaDB บน ​​Linux ได้อย่างไร


บทความนี้จะช่วยคุณในการย้ายฐานข้อมูลจาก MySQL ไปยัง MariaDB เนื่องจากความเข้ากันได้แบบไบนารีของ MySQL กับ MariaDB ในกระบวนการย้ายนั้นตรงไปตรงมามาก

หลังจาก Oracle เข้าซื้อกิจการ MySQL ชุมชนได้ขับเคลื่อนผลลัพธ์ของการเคลื่อนไหวดังกล่าว และพัฒนาฐานข้อมูลใหม่ที่เรียกว่า MariaDB MariaDB เป็นโอเพ่นซอร์สและเข้ากันได้กับ MySQL ลีนุกซ์รุ่นส่วนใหญ่ (RH, CentOS, Fedora) ได้เริ่มใช้การสนับสนุนของ MariaDB เพื่อแทนที่ MySQL แบบดรอปอินแล้ว

หากเราต้องการย้ายฐานข้อมูลจาก MySQL ไปยัง MariaDB บทความนี้จะช่วยคุณได้

การเตรียมฐานข้อมูล MySQL และตาราง

เราสร้างฐานข้อมูล MySQL ทดสอบและตารางผลรวมเพื่อวัตถุประสงค์ในการสาธิต เราสามารถข้ามสิ่งนี้ได้หากเรามีฐานข้อมูลและตารางอยู่ในสภาพแวดล้อม

เข้าสู่ระบบ MySQL จากเทอร์มินัลโดยใช้ผู้ใช้ root ของ MySQL และรหัสผ่านผู้ใช้ root

# mysql -uroot -p

การสร้างฐานข้อมูลและตารางเดียว

mysql> สร้างฐานข้อมูล test1;mysql> ใช้ test1;mysql> สร้างตาราง tab1(ชื่อ varchar(30), เจ้าของ varchar(30), สปีชีส์ varchar(20), เพศ char(1)); ตกลง, 0 แถว ได้รับผลกระทบ (0.02 วินาที)

นอกจากนี้ เราจะเพิ่มบันทึกเพื่อทดสอบข้อมูล

mysql> แทรกลงในค่า tab1 ('Chandra','Prakash','Kadarla','m'),('Srinvas','Kadarla','Cary','m');แบบสอบถามตกลง 2 แถว ได้รับผลกระทบ (0.00 วินาที) บันทึก:2 รายการซ้ำ:0 คำเตือน:0 จากนั้นให้ออกจาก MySQL

สำรองฐานข้อมูล MySQL

เราจำเป็นต้องสำรองข้อมูลฐานข้อมูล MySQL โดยใช้คำสั่ง – MySQL dump

# mysqldump --all-databases --user=root --password --master-data> backupDB.sql

ด้วยเหตุผลด้านความปลอดภัย เราจะนำไฟล์การกำหนดค่าสำหรับ MySQL บางส่วนไปที่อื่นในระบบ

# cp /etc/mysql/my.cnf /opt/my.cnf.bak

ถอนการติดตั้งแพ็คเกจ MySQL

เราจะถอนการติดตั้ง MySQL โดยใช้คำสั่งด้านล่าง –

# บริการ mysqld หยุด # yum ลบเซิร์ฟเวอร์ mysql mysql-client mysql-common

ติดตั้งแพ็คเกจ MariaDB

MariaDB ถูกแทนที่ด้วย MySQL ในคลังเก็บอย่างเป็นทางการของลีนุกซ์รายใหญ่ทั้งหมด แม้ว่าคุณจะใช้ Linux เวอร์ชันเก่าก็สามารถเพิ่มที่เก็บอย่างเป็นทางการได้

สร้างไฟล์ในไดเร็กทอรี yum repos

# sudo vi /etc/yum.repos.d/MariaDB.repo

เพิ่มไฟล์ด้านล่างและบันทึก

[mariadb]name =MariaDBbaseurl =https://yum.mariadb.org/5.5/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1

ในการติดตั้ง Maria-DB Server &Client ให้รันคำสั่งด้านล่าง

# yum ติดตั้ง MariaDB-server MariaDB-clientLoaded plugins:fastmirror, langpacksbase | 3.6 kB 00:00พิเศษ | 3.4 kB 00:00mariadb | 2.9 kB 00:00อัพเดท | 3.4 kB 00:00 --> เริ่มต้นการแก้ปัญหาการพึ่งพาใหม่พร้อมการเปลี่ยนแปลงใหม่ --> เรียกใช้การตรวจสอบธุรกรรม ---> แพ็กเกจ MariaDB-shared.x86_64 0:5.5.49-1.el7.centos จะล้าสมัย ---> แพ็กเกจ mariadb-libs.x86_64 1:5.5.35-3.el7 จะ ล้าสมัย --> เสร็จสิ้น การพึ่งพา การแก้ปัญหา การพึ่งพา ได้รับการแก้ไขแล้ว=========================================================================================รุ่น Arch ของแพ็คเกจ ขนาดพื้นที่เก็บข้อมูล=========================================================================================กำลังติดตั้ง:MariaDB-client x86_64 5.5.49- 1.el7.centos mariadb 8.6 M เซิร์ฟเวอร์ MariaDB x86_64 5.5.49-1.el7.centos mariadb 40 M MariaDB-shared x86_64 5.5.49-1.el7.centos mariadb 1.0 M แทนที่ mariadb-libs.x86_64 1:5.5 35-3.el7การติดตั้งสำหรับการพึ่งพา:MariaDB-common x86_64 5.5.49-1.el7.centos mariadb 23 k perl-Compress-Raw-Bz ip2 x86_64 2.061-3.el7 ฐาน 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 ฐาน 57 k perl-DBI x86_64 1.627-4.el7 ฐาน 802 k perl-Data-Dumper x86_64 2.145-3 el7 ฐาน 47 k perl-IO- บีบอัด noarch 2.061-2.el7 ฐาน 260 k perl-Net-Daemon noarch 0.48-5.el7 ฐาน 51 k perl-PlRPC noarch 0.203-14.el7 ฐาน 36 k สรุปธุรกรรม=========================================================================================ติดตั้ง 3 แพ็คเกจ (+8 แพ็คเกจขึ้นอยู่กับ) ขนาดการดาวน์โหลดทั้งหมด:51 MIs นี่ ok [y/d/N]:yDownloading packages:warning:/var/cache/yum/x86_64/7/mariadb/packages/MariaDB-5.5.49-centos7-x86_64-common.rpm:Header V4 DSA/SHA1 Signature, คีย์ ไอดี 1bb9 43db:ไม่ได้ติดตั้งคีย์ NOKEYPublic สำหรับ MariaDB-5.5.49-centos7-x86_64-common.rpm (1/11):MariaDB-5.5.49-centos7-x86_64-common.rpm | 23 kB 00:00:01(2/11):MariaDB-5.5.49-centos7-x86_64-client.rpm | 8.6 MB 00:00:12warning:/var/cache/yum/x86_64/7/base/packages/perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm:Header V3 RSA/SHA256 Signature, รหัสคีย์ f4a80eb5:ไม่ได้ติดตั้งคีย์ NOKEYPublic สำหรับ perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm (3/11):perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32 kB 00:00:00 (4/11):perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm | 57 kB 00:00:00 (5/11):perl-Data-Dumper-2.145-3.el7.x86_64.rpm | 47 kB 00:00:00 (6/11):perl-IO-Compress-2.061-2.el7.noarch.rpm | 260 kB 00:00:00(7/11):perl-Net-Daemon-0.48-5.el7.noarch.rpm | 51 kB 00:00:00(8/11):perl-DBI-1.627-4.el7.x86_64.rpm | 802 kB 00:00:00(9/11):perl-PlRPC-0.2020-14.el7.noarch.rpm | 802 kB 36 kB 00:00:00 (10/11):MariaDB-5.5.49-centos7-x86_64-shared.rpm | 1.0 MB 00:00:01 ขนาดการดาวน์โหลดทั้งหมด:51 การตรวจสอบธุรกรรม MRunning การทดสอบธุรกรรมที่กำลังดำเนินการ การทดสอบธุรกรรมที่ดำเนินการสำเร็จ กำลังดำเนินการติดตั้งธุรกรรม การติดตั้ง :MariaDB-common-5.5.49-1.el7.centos.x86_64 1/12 การติดตั้ง :perl-Data-Dumper-2.145-3 .el7.x86_64 2/12 กำลังติดตั้ง :MariaDB-client-5.5.49-1.el7.centos.x86_64 3/12 กำลังติดตั้ง :1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 4/12 กำลังติดตั้ง :perl-Net-Daemon-0.48-5.el7.noarch 5/12 การติดตั้ง :perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 6/12 การติดตั้ง :perl-IO-Compress-2.061-2.el7 .noarch 7/12 กำลังติดตั้ง :perl-PlRPC-0.2020-14.el7.noarch 8/12 กำลังติดตั้ง :perl-DBI-1.627-4.el7.x86_64 9/12 ติดตั้งแล้ว:MariaDB-client.x86_64 0:5.5.49-1 .el7.centos MariaDB-server.x86_64 0:5.5.49-1.el7.centos MariaDB-shared.x86_64 0:5.5.49-1.el7.centosDependency ติดตั้งแล้ว:MariaDB-common.x86_64 0:5.5.49-1 .el7.centos p erl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper x86_64 0:2.145-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PlRPC.noarch 0:0.2020-14.el7แทนที่:mariadb -libs.x86_64 1:5.5.35-3.el7Complete!

หลังจากติดตั้งแพ็คเกจที่จำเป็นทั้งหมดแล้ว เราจำเป็นต้องตั้งค่ารหัสผ่านสำหรับบัญชีผู้ใช้รูท รหัสผ่านรูทกู้คืนไฟล์การกำหนดค่าซึ่งใช้ข้อมูลสำรองจาก MySQL

# cp /opt/my.cnf /etc/mysql/

ตอนนี้ เราต้องเริ่มบริการ MariaDB ใหม่โดยรันคำสั่งด้านล่าง

# บริการ mariadb เริ่มต้น

การนำเข้าฐานข้อมูล MySQL

เราต้องนำเข้าฐานข้อมูลที่เราได้สำรองข้อมูลจาก MySQL ไปยัง MariaDB

# mysql -u root -p  

ป้อนรหัสผ่านของผู้ใช้รูท จากนั้นฐานข้อมูลจะถูกนำเข้าไปยัง MariaDB

เราจำเป็นต้องตรวจสอบฐานข้อมูลว่ากู้คืนถูกต้องหรือไม่

โปรดปฏิบัติตามคำสั่งร้อง –

# mysql -u root -pMariaDB [(none)]> แสดงฐานข้อมูล;+--------------------+| ฐานข้อมูล |+--------------------+| information_schema || mysql || test1 |+--------------------+3 แถวในชุด (0.00 วินาที)MariaDB [(ไม่มี)]> ใช้ test1;MariaDB [test01]> เลือก * จาก tab1;select * จาก tab1;+---------+---------+---------+------+| ชื่อ | เจ้าของ | สายพันธุ์ | เพศ |+---------+---------+---------+------+| จันทรา | Prakash | Kadarla | ม || Srinvas | Kadarla | ชารี | m |+---------+---------+---------+------+2 แถวในชุด (0.00 วินาที) 

ตอนนี้การย้ายจาก MySQL ไปยัง MariaDB เสร็จสมบูรณ์แล้ว

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