Chuyển hoặc Di chuyển 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ẽ tìm hiểu cách chuyển hoặc di chuyển tất cả MySQL / MariaDB của mình 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 ở đó.
Những lưu ý 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ờ cân nhắc việc di chuyển
data
thư mục 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 làm vậy, bạn sẽ gặp phải 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 lệnh như được hiển thị.
# systemctl stop mariadb OR # systemctl stop mysql
Sau đó kết xuất tất cả MySQL của bạn 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 kết xuất 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 kết xuất cơ sở dữ liệu MySQL sang 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ư được hiển thị.
# 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 như thế nào so với các phương pháp khác? Chúng tôi muốn nghe ý kiến từ bạn qua biểu mẫu bình luận bên dưới để liên hệ với chúng tôi.