Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để di chuyển MySQL sang MariaDB trên Linux?

Bài viết này sẽ giúp bạn di chuyển cơ sở dữ liệu từ MySQL sang MariaDB vì khả năng tương thích nhị phân của MySQL-to-MariaDB trong quá trình di chuyển là rất đơn giản.

Sau khi Oracle mua lại MySQL, cộng đồng đã thúc đẩy kết quả của phong trào như vậy và phát triển một cơ sở dữ liệu mới có tên MariaDB. MariaDB là mã nguồn mở và khả năng tương thích của nó với MySQL. Hầu hết các bản phân phối Linux (RH, CentOS, Fedora) đã bắt đầu sử dụng sự hỗ trợ của MariaDB như một sự thay thế thả xuống của MySQL.

Nếu chúng ta muốn di chuyển cơ sở dữ liệu từ MySQL sang MariaDB thì bài viết này sẽ hữu ích.

Chuẩn bị Cơ sở dữ liệu MySQL và Bảng

Chúng tôi tạo một cơ sở dữ liệu MySQL thử nghiệm và bảng tổng thể cho mục đích demo. Chúng ta có thể bỏ qua điều này nếu chúng ta có cơ sở dữ liệu và các bảng trong môi trường.

Đăng nhập vào MySQL từ thiết bị đầu cuối bằng người dùng gốc MySQL và mật khẩu người dùng gốc.

 # mysql -uroot -p 

Tạo một Cơ sở dữ liệu và Bảng

 mysql> Tạo cơ sở dữ liệu test1; mysql> sử dụng test1; mysql> tạo bảng tab1 (tên varchar (30), chủ sở hữu varchar (30), loài varchar (20), sex char (1)); Truy vấn OK, 0 hàng bị ảnh hưởng (0,02 giây) 

Ngoài ra, chúng tôi sẽ thêm một số bản ghi để kiểm tra dữ liệu

 mysql> chèn vào các giá trị tab1 ('Chandra', 'Prakash', 'Kadarla', 'm'), ('Srinvas', 'Kadarla', 'Chary', 'm'); Truy vấn OK, 2 hàng bị ảnh hưởng (0,00 giây) Hồ sơ:2 Bản sao:0 Cảnh báo:0 Sau đó thoát khỏi MySQL. 

Sao lưu Cơ sở dữ liệu MySQL

Chúng tôi cần sao lưu Cơ sở dữ liệu MySQL bằng lệnh - MySQL dump

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

Vì lý do bảo mật, chúng tôi sẽ lấy một số tệp cấu hình cho MySQL, ở những nơi khác trong hệ thống

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

Gỡ cài đặt các gói MySQL

Chúng tôi sẽ gỡ cài đặt MySQL bằng lệnh dưới đây -

 # service mysqld stop # yum remove mysql-server mysql-client mysql-common 

Cài đặt gói MariaDB

MariaDB đã được thay thế bằng MySQL trên tất cả các kho lưu trữ chính thức của các bản phân phối Linux lớn. Ngay cả khi bạn đang sử dụng phiên bản cũ của Linux cũng có thể thêm kho lưu trữ chính thức.

Tạo tệp trong thư mục repos yum

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

Thêm phần bên dưới vào tệp và lưu nó

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

Để cài đặt Máy chủ &Máy khách Maria-DB, hãy chạy lệnh dưới đây.

 # yum install MariaDB-server MariaDB-clientLoaded plugin:quickmirror, langpacksbase | 3,6 kB 00:00extras | 3,4 kB 00:00mariadb | 2,9 kB 00:00 cập nhật | 3,4 kB 00:00 -> Khởi động lại Độ phân giải phụ thuộc với các thay đổi mới. -> Đang chạy kiểm tra giao dịch ---> Gói MariaDB-shared.x86_64 0:5.5.49-1.el7.centos sẽ bị obsoleting ---> Gói mariadb-libs.x86_64 1:5.5.35-3.el7 sẽ được obsoleted -> Giải quyết xong phụ thuộc Các phụ thuộc được giải quyết ========================================================================================Phiên bản Gói Arch Kích thước kho lưu trữ ==========================================================================================Cài đặt:MariaDB-client x86_64 5.5.49- 1.el7.centos mariadb 8,6 M MariaDB-server 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 thay thế mariadb-libs.x86_64 1:5.5. 35-3.el7Cài đặt cho các phần phụ thuộc:MariaDB-common x86_64 5.5.49-1.el7.centos mariadb 23 k perl-Compress-Raw-Bz ip2 x86_64 2.061-3.el7 base 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k perl-DBI x86_64 1.627-4.el7 base 802 k perl-Data-Dumper x86_64 2.145-3. el7 base 47 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0,48-5.el7 base 51 k perl-PlRPC noarch 0,2020-14.el7 base 36 k Tóm tắt giao dịch ========================================================================================Cài đặt 3 Gói (+8 Gói phụ thuộc) Tổng dung lượng tải xuống:51 MIs này nhé. [y / d / N]:yDownloading pack:warning:/var/cache/yum/x86_64/7/mariadb/packages/MariaDB-5.5.49-centos7-x86_64-common.rpm:Header V4 DSA / SHA1 Signature, key ID 1bb9 43db:NOKEYP khóa công khai cho MariaDB-5.5.49-centos7-x86_64-common.rpm chưa được cài đặt (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, key ID f4a80eb5:NOKEYP khóa công khai cho perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm chưa được cài đặt (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 (11/9):perl-PlRPC-0.2020-14.el7.noarch.rpm | 36 kB 00:00:00 (10/11):MariaDB-5.5.49-centos7-x86_64-shared.rpm | 1.0 MB 00:00:01 Tổng kích thước tải xuống:51 Kiểm tra giao dịch chạy thử Kiểm tra giao dịch chạy Kiểm tra giao dịch thành công Giao dịch chạy thử Cài đặt:MariaDB-common-5.5.49-1.el7.centos.x86_64 1/12 Cài đặt:perl-Data-Dumper-2.145-3 .el7.x86_64 2/12 Cài đặt:MariaDB-client-5.5.49-1.el7.centos.x86_64 3/12 Cài đặt:1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 4/12 Cài đặt :perl-Net-Daemon-0.48-5.el7.noarch 5/12 Cài đặt:perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 6/12 Cài đặt:perl-IO-Compress-2.061-2.el7 .noarch 7/12 Cài đặt:perl-PlRPC-0.2020-14.el7.noarch 8/12 Cài đặt:perl-DBI-1.627-4.el7.x86_64 9/12 Đã cài đặt: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 Cài đặt: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.el7Replaced:mariadb -libs.x86_64 1:5.5.35-3.el7Complete! 

Sau khi cài đặt tất cả các gói cần thiết, chúng tôi cần thiết lập mật khẩu cho tài khoản người dùng gốc. Mật khẩu gốc khôi phục tệp cấu hình có bản sao lưu từ MySQL.

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

Bây giờ, chúng tôi cần khởi động lại dịch vụ MariaDB, chạy lệnh dưới đây.

 # service mariadb start 

Nhập cơ sở dữ liệu MySQL

Chúng tôi phải nhập cơ sở dữ liệu mà chúng tôi đã sao lưu từ MySQL sang MariaDB

 # mysql -u root -p  

Nhập mật khẩu của người dùng root, sau đó cơ sở dữ liệu sẽ được nhập vào MariaDB

Chúng tôi cần kiểm tra cơ sở dữ liệu xem nó có được khôi phục đúng cách hay không.

Vui lòng làm theo các lệnh dưới đây -

 # mysql -u root -pMariaDB [(none)]> hiển thị cơ sở dữ liệu; + -------------------- + | Cơ sở dữ liệu | + -------------------- + | information_schema || mysql || test1 | + -------------------- + 3 hàng trong bộ (0,00 giây) MariaDB [(không có)]> sử dụng test1; MariaDB [test01]> chọn * từ tab1; chọn * từ tab1; + --------- + --------- + --------- + ------ + | tên | chủ sở hữu | loài | tình dục | + --------- + --------- + --------- + ------ + | Chandra | Prakash | Kadarla | m || Srinvas | Kadarla | Chary | m | + --------- + --------- + --------- + ------ + 2 hàng trong bộ (0,00 giây)  

Hiện quá trình di chuyển từ MySQL sang MariaDB đã hoàn tất thành công.

Sau khi chúng tôi chạy lệnh và làm theo hướng dẫn, chúng tôi có thể di chuyển cơ sở dữ liệu từ MySQL-sang-MariaDB bằng các bước dễ dàng, nơi MariaDB có rất nhiều tính năng mới so với MySQL. Trong hướng dẫn trên, tôi đã sử dụng một kịch bản đơn giản để kiểm tra cấu hình di chuyển.