Khi cần chuyển database giữa các kiến trúc khác nhau, dùng mysqldump tạo file chứa câu lệnh SQL. File chuyển từ máy này sang máy khác, dùng làm input cho client mysql.
Di chuyển database giữa 2 máy
Một cách: chạy lệnh trên máy chứa database:
mysqladmin -h 'other_hostname' create db_name mysqldump db_name | mysql -h 'other_hostname' db_name
Sao chép database từ máy remote qua mạng chậm
Nếu sao chép từ mạng remote qua mạng chậm, chạy:
mysqladmin create db_name mysqldump -h 'other_hostname' --compress db_name | mysql db_name
MySQL dump
Dump có thể lưu trong file, sau đó chuyển sang máy đích. Bước sau: nạp file vào database. Ví dụ dump database ra file nén trên máy nguồn:
mysqldump --quick db_name | gzip > db_name.gz
Chuyển file chứa nội dung database từ máy đích sang máy nguồn. Chạy lệnh:
mysqladmin create db_name gunzip < db_name.gz | mysql db_name
Ngoài ra, mysqldump và mysqlimport cũng dùng để chuyển nội dung database. Với database dữ liệu lớn, dùng cả hai cùng nhau tăng tốc độ. DUMPDIR là đường dẫn đầy đủ thư mục chứa output của mysqldump.
Tạo thư mục để dump output và nội dung database:
mkdir DUMPDIR mysqldump --tab=DUMPDIR db_name
Chuyển file từ thư mục DUMPDIR sang thư mục tương ứng trên máy đích. Nạp file vào MySQL:
mysqladmin create db_name # tạo database cat DUMPDIR/*.sql | mysql db_name # tạo table trong database mysqlimport db_name DUMPDIR/*.txt # nạp dữ liệu vào table