Khi cơ sở dữ liệu cần được chuyển giữa các kiến trúc khác nhau, ‘mysqldump’ có thể được sử dụng để tạo tệp. Tệp này sẽ chứa các câu lệnh SQL. Việc truyền tệp có thể được thực hiện từ máy này sang máy khác và tệp này có thể được sử dụng làm đầu vào cho ứng dụng khách ‘mysql’.
Di chuyển cơ sở dữ liệu giữa hai máy
Một cách để di chuyển cơ sở dữ liệu giữa hai máy là thực hiện các lệnh trên máy có cơ sở dữ liệu -
mysqladmin −h 'other_hostname' create db_name mysqldump db_name | mysql −h 'other_hostname' db_name
Sao chép cơ sở dữ liệu từ một máy từ xa qua mạng chậm
Nếu cơ sở dữ liệu cần được sao chép từ một mạng từ xa qua mạng chậm, các lệnh dưới đây có thể được thực thi -
mysqladmin create db_name mysqldump −h 'other_hostname' −−compress db_name | mysql db_name
Kết xuất MySQL
Kết xuất có thể được lưu trữ trong một tệp và sau đó nó có thể được chuyển đến máy đích. Bước tiếp theo là tải tệp vào cơ sở dữ liệu. Hãy để chúng tôi lấy một ví dụ trong đó yêu cầu kết xuất cơ sở dữ liệu vào một tệp nén trên máy nguồn. Nó đã được hiển thị bên dưới -
mysqldump −−quick db_name | gzip > db_name.gz
Tệp chứa nội dung cơ sở dữ liệu cần được chuyển từ máy đích sang máy nguồn. Các lệnh dưới đây cần được thực hiện -
mysqladmin create db_name gunzip < db_name.gz | mysql db_name
Ngoài ra, ‘mysqldump’ và ‘mysqlimport’ cũng có thể bị kiện để chuyển nội dung cơ sở dữ liệu. Đối với cơ sở dữ liệu có chứa lượng lớn dữ liệu, ‘mysqldump’ và ‘mysqlimport’ có thể được sử dụng cùng nhau để tăng tốc độ của hoạt động. ‘DUMPDIR’ đại diện cho tên đường dẫn đầy đủ của thư mục nơi lưu trữ đầu ra của ‘mysqldump’.
Đầu tiên, một thư mục được tạo để các tệp đầu ra và nội dung cơ sở dữ liệu có thể được kết xuất. Điều này có thể được thực hiện bằng cách sử dụng các lệnh dưới đây -
mkdir DUMPDIR mysqldump −−tab=DUMPDIR db_name
Sau đó, các tệp có thể được chuyển từ thư mục DUMPDIR sang bất kỳ thư mục tương ứng nào trên máy đích. Bước tiếp theo là tải các tệp vào MySQL. Điều này có thể được thực hiện bằng cách sử dụng lệnh dưới đây -
mysqladmin create db_name # create database cat DUMPDIR/*.sql | mysql db_name # create tables in database mysqlimport db_name DUMPDIR/*.txt # load data into tables