TopDev

Dùng lệnh dump mysql từ server khác và imp vào server

minhu 📖 3 phút đọc

Nếu bạn muốn sao lưu cơ sở dữ liệu MySQL từ một máy chủ từ xa mà không cần phải chuyển tệp sao lưu qua lại, bạn có thể thực hiện trực tiếp từ máy chủ nguồn bằng cách sử dụng mysqldump với các thông số để kết nối từ xa.

Dưới đây là hướng dẫn từng bước:

1. Sao Lưu Cơ Sở Dữ Liệu Từ Máy Chủ Từ Xa#

Trên máy chủ nơi bạn muốn thực hiện sao lưu (có thể là máy chủ mới hoặc máy tính của bạn), sử dụng lệnh mysqldump với các thông số để kết nối đến máy chủ MySQL từ xa. Ví dụ:

mysqldump -h remote_host -u remote_user -p remote_database > backup.sql

  • -h remote_host: Địa chỉ IP hoặc tên máy chủ của máy chủ từ xa nơi MySQL đang chạy.

  • -u remote_user: Tên người dùng MySQL trên máy chủ từ xa.

  • -p: Yêu cầu nhập mật khẩu cho người dùng MySQL.

  • remote_database: Tên cơ sở dữ liệu mà bạn muốn sao lưu.

  • > backup.sql: Xuất dữ liệu vào tệp backup.sql.

Ví dụ:

mysqldump -h 192.168.1.100 -u root -p my_database > my_database_backup.sql

Sau khi thực hiện lệnh, bạn sẽ được yêu cầu nhập mật khẩu cho người dùng MySQL trên máy chủ từ xa. Tệp my_database_backup.sql sẽ chứa toàn bộ dữ liệu và cấu trúc của cơ sở dữ liệu my_database.

2. Sao Lưu Toàn Bộ Cơ Sở Dữ Liệu#

Nếu bạn muốn sao lưu toàn bộ cơ sở dữ liệu trên máy chủ từ xa, sử dụng tùy chọn --all-databases:

mysqldump -h remote_host -u remote_user -p --all-databases > all_databases_backup.sql

3. Nhập Dữ Liệu Vào Máy Chủ Mới#

Sau khi sao lưu, bạn có thể chuyển tệp sao lưu sang máy chủ mới (nếu chưa thực hiện trên máy chủ đích) và nhập dữ liệu bằng lệnh mysql:

mysql -u local_user -p < backup.sql

  • -u local_user: Tên người dùng MySQL trên máy chủ đích.

  • -p: Yêu cầu nhập mật khẩu cho người dùng MySQL.

  • < backup.sql: Đọc dữ liệu từ tệp backup.sql.

Ví Dụ Hoàn Chỉnh#

Giả sử bạn muốn sao lưu cơ sở dữ liệu từ máy chủ 192.168.1.100 và sau đó nhập dữ liệu vào máy chủ MySQL cục bộ:

Trên Máy Chủ Cục Bộ

  • Sao lưu cơ sở dữ liệu từ máy chủ từ xa:

mysqldump -h 192.168.1.100 -u root -p my_database > my_database_backup.sql

  • Nhập cơ sở dữ liệu vào máy chủ cục bộ:

mysql -u root -p < my_database_backup.sql

Lưu Ý#

  • Firewall và Quyền Truy Cập: Đảm bảo rằng máy chủ từ xa cho phép kết nối từ IP của máy tính hoặc máy chủ bạn đang sử dụng. Bạn có thể cần mở cổng 3306 trên tường lửa của máy chủ từ xa.

  • Quyền Truy Cập: Đảm bảo rằng người dùng MySQL trên máy chủ từ xa có đủ quyền để thực hiện sao lưu.

Nếu bạn gặp vấn đề hoặc cần thêm thông tin, hãy cho tôi biết!

Bài liên quan trong #Database

✓ Đã sao chép link