Sao chép database MySQL sang server khác

Sao chép database MySQL sang server khác

Trong MySQL, bạn có thể tiến hành sao chép database từ server này sang server khác theo logic:

  • Sao lưu database ở server này
  • Phục hồi database ở server kia

Bạn tiến hành thao tác sao chép này theo hướng dẫn bên dưới.

Sao chép mà không đổi tên database

Trên Server A, sao lưu database bằng lệnh mysqldump.

# mysqldump ––databases database1 > database_dump.sql

Sao chép file database_dump.sql từ Server A sang Server B.

Trên Server B, bạn phục hồi database từ file database_dump.sql mới được chép sang.

# mysql < database_dump.sql

Khi sử dụng lệnh mysqldump với tùy chọn ––databases, file database_dump.sql tạo ra sẽ có thêm các lệnh CREATE DATABASE và USE để MySQL tạo lại database (nếu chưa có) trước khi tiến hành khôi phục dữ liệu vào.

Nếu không sử dụng tùy chọn ––databases, bạn cần phải tạo database trước khi tiến hành khôi phục dữ liệu.

Trên Server A, chạy lệnh mysqldump không có tùy chọn ––databases.

# mysqldump database1 > database_dump.sql

Trên Server B, tạo database bằng lệnh CREATE trước khi phục hồi dữ liệu.

# mysqladmin create database1
# mysql database1 < database_dump.sql

Sao chép và thay đổi tên database

Khi không sử dụng tùy chọn ––databases, file database_dump.sql không có sẵn lệnh CREATE DATABASE nên bạn có thể phục hồi file database_dump.sql vào một database có tên khác.

Trên Server A:

# mysqldump ––databases database1 > database_dump.sql

Trên Server B:

# mysqladmin create database2
# mysql database2 < database_dump.sql