Chuyển giao hoặc Di chuyển một MySQL/MariaDB cơ sở dữ liệu giữa các máy chủ thường chỉ mất vài bước đơn giản, nhưng quá trình truyền dữ liệu có thể mất một khoảng thời gian tùy thuộc vào khối lượng dữ liệu bạn muốn chuyển.

Trong bài viết này, bạn sẽ học cách chuyển hoặc di chuyển tất cả MySQL/MariaDB cơ sở dữ liệu từ máy chủ Linux cũ sang máy chủ mới, nhập thành công và xác nhận rằng dữ liệu ở đó.

Ghi chú quan trọng

  • Đảm bảo cài đặt cùng một phiên bản MySQL trên cả hai máy chủ có cùng bản phân phối.
  • Đảm bảo có đủ dung lượng trống trên cả hai máy chủ để chứa tệp kết xuất cơ sở dữ liệu và cơ sở dữ liệu đã nhập.
  • Đừng bao giờ nghĩ đến việc di chuyển data của cơ sở dữ liệu đến một máy chủ khác. Đừng bao giờ gây rối với cấu trúc bên trong của cơ sở dữ liệu, nếu bạn làm vậy, bạn sẽ phải đối mặt với những vấn đề trong tương lai.

Xuất Cơ sở dữ liệu MySQL sang Tệp Dump

Trước tiên, hãy bắt đầu bằng cách đăng nhập vào máy chủ cũ của bạn và dừng dịch vụ mysql / mariadb bằng cách sử dụng systemctl như hình.

# systemctl stop mariadb
OR
# systemctl stop mysql

Sau đó đổ tất cả MySQL cơ sở dữ liệu vào một tệp duy nhất bằng lệnh mysqldump.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Sau khi kết xuất hoàn tất, bạn đã sẵn sàng chuyển cơ sở dữ liệu.

Nếu bạn muốn kết xuất một cơ sở dữ liệu duy nhất, bạn có thể sử dụng:

# mysqldump -u root -p --opt [database name] > database_name.sql

Chuyển Tệp Dump của Cơ sở dữ liệu MySQL sang Máy chủ mới

Bây giờ sử dụng lệnh scp để chuyển tệp kết xuất cơ sở dữ liệu của bạn sang máy chủ mới trong thư mục chính như được hiển thị.

# scp all_databases.sql [email protected]:~/       [All Databases]
# scp database_name.sql [email protected]:~/       [Singe Database]

Sau khi bạn kết nối, cơ sở dữ liệu sẽ được chuyển sang máy chủ mới.

Nhập tệp Dump của cơ sở dữ liệu MySQL vào máy chủ mới

Khi tệp kết xuất MySQL đã được chuyển đến máy chủ mới, bạn có thể sử dụng lệnh sau để nhập tất cả cơ sở dữ liệu của mình vào MySQL.

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Sau khi nhập xong, bạn có thể xác minh cơ sở dữ liệu trên cả hai máy chủ bằng cách sử dụng lệnh sau trên trình bao mysql.

# mysql -u user -p
# show databases;

Chuyển Cơ sở dữ liệu MySQL và Người dùng sang Máy chủ Mới

Nếu bạn muốn di chuyển tất cả cơ sở dữ liệu MySQL, người dùng, quyền và cấu trúc dữ liệu từ máy chủ cũ sang máy chủ mới, bạn có thể sử dụng lệnh rsync để sao chép tất cả nội dung từ thư mục dữ liệu mysql / mariadb sang máy chủ mới như hình minh họa.

# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/ 

Sau khi quá trình chuyển hoàn tất, bạn có thể đặt quyền sở hữu thư mục dữ liệu mysql / mariadb cho người dùng và nhóm mysql, sau đó thực hiện một danh sách thư mục để kiểm tra xem tất cả các tệp đã được chuyển chưa.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

Đó là tất cả! Trong bài viết này, bạn đã học cách dễ dàng di chuyển tất cả cơ sở dữ liệu MySQL / MariaDB từ máy chủ này sang máy chủ khác. Bạn thấy phương pháp này so với các phương pháp khác như thế nào? Chúng tôi muốn nghe ý kiến ​​của bạn qua biểu mẫu bình luận bên dưới để liên hệ với chúng tôi.