MySQL là một cơ sở dữ liệu phổ biến được sử dụng bởi nhiều tổ chức và nhà phát triển. Đôi khi, trong khi làm việc với MySQL, bạn có thể cần di chuyển cơ sở dữ liệu từ máy chủ này sang máy chủ khác, để sao chép hoặc thử nghiệm hoặc sao chép. Bạn có thể cần sao chép/chuyển cơ sở dữ liệu để tạo cơ sở dữ liệu riêng cho mục đích báo cáo. Trong bài viết này, chúng ta sẽ tìm hiểu cách sao chép/chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong MySQL Show
Cách sao chép/chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong MySQLCó ba bước để sao chép/chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong MySQL 1. Sao lưu cơ sở dữ liệu MySQLBước đầu tiên là sao lưu cơ sở dữ liệu MySQL của bạn bằng lệnh mysqldump. Giả sử bạn muốn sao chép doanh số cơ sở dữ liệu, sau đó mở terminal trên máy chủ nơi đặt cơ sở dữ liệu của bạn và chạy lệnh sau để sao lưu cơ sở dữ liệu. Thay thế doanh số bán hàng bằng tên cơ sở dữ liệu và tên người dùng bằng tên người dùng cơ sở dữ liệu của bạn $ sudo mysqldump -u username -p sales > sales_dump.sql Bạn sẽ được nhắc nhập mật khẩu người dùng MySQL của mình trước khi quá trình xử lý bắt đầu Nếu bạn muốn sao lưu cơ sở dữ liệu từ xa thì hãy thêm địa chỉ IP máy chủ của nó với tùy chọn -h $ sudo mysqldump -h host_ip_address_or_url -u username -p sales > sales_dump.sql Nếu bạn muốn sao lưu nhiều cơ sở dữ liệu, hãy sử dụng tùy chọn –databases. Đây là lệnh để sao lưu cơ sở dữ liệu bán hàng và đơn đặt hàng $ sudo mysqldump -u username -p --databases sales orders > sales_dump.sql Nếu bạn muốn sao lưu tất cả cơ sở dữ liệu trên máy chủ của mình, hãy sử dụng tùy chọn –all-databases $ sudo mysqldump -u username -p --all-databases > sales_dump.sql Nếu bạn chỉ muốn sao lưu các bảng cụ thể, hãy đề cập đến nó sau tên cơ sở dữ liệu trong lệnh MySQLdump. Đây là lệnh để sao lưu bảng người dùng và sản phẩm từ cơ sở dữ liệu bán hàng $ sudo mysqldump -u username -p sales users products > sales_dump.sql Bạn thậm chí có thể lưu kết quả truy vấn dưới dạng. tập tin sql $ sudo mysqldump -u username -p sales users --where="WHERE CLAUSE" > dump.sql 2. Chuyển bản sao lưu sang máy chủ cơ sở dữ liệu khácBạn có thể sử dụng bất kỳ chương trình truyền tệp nào để sao chép. tập tin sql giữa hai máy chủ. Bạn cần chạy các lệnh này từ máy chủ nguồn nơi bạn đã tạo tệp kết xuất dữ liệu Chúng tôi sẽ sử dụng lệnh scp cho mục đích này $ Scp -P [port] [dump_file].sql [username]@[servername]:[path on destination] Đây là lệnh chuyển file sales_dump. sql sang ip54. 43. 32. 21. Nhưng điều quan trọng là bạn phải có quyền truy cập SSH trên máy chủ này, vì bạn sẽ cần nhập tên người dùng và mật khẩu để truy cập. Ngoài ra, bạn cần có quyền ghi vào thư mục đích để có thể sao chép tệp vào đó. Thay thế 54. 43. 32. 21 với địa chỉ IP của máy chủ đích, root với tên người dùng của bạn trên máy chủ đó và /home/ubuntu/sales với vị trí thư mục mà bạn muốn lưu tệp $ scp sales_dump.sql [email protected]:/home/ubuntu/sales 3. Khôi phục kết xuất dữ liệuBước cuối cùng là tạo cơ sở dữ liệu mới từ tệp kết xuất dữ liệu. Đầu tiên, đăng nhập vào MySQL, tạo một cơ sở dữ liệu trống trên máy chủ đích và thoát khỏi nó ________số 8_______Chạy lệnh sau để sao chép dữ liệu từ. tệp kết xuất sql vào cơ sở dữ liệu mới. Đây là cú pháp cho nó Nếu chúng ta muốn sao chép bảng hoặc cơ sở dữ liệu từ máy chủ MySQL này sang máy chủ MySQL khác, thì hãy sử dụng mysqldump với tên cơ sở dữ liệu và tên bảng Chạy lệnh sau tại máy chủ nguồn. Điều này sẽ kết xuất cơ sở dữ liệu hoàn chỉnh vào kết xuất. tệp txt $ mysqldump -u root -p database_name table_name > dump.txt password ***** Chúng tôi có thể sao chép cơ sở dữ liệu hoàn chỉnh mà không cần sử dụng tên bảng cụ thể như đã giải thích ở trên Bây giờ, kết xuất ftp. txt trên máy chủ khác và sử dụng lệnh sau. Trước khi chạy lệnh này, hãy đảm bảo rằng chúng tôi đã tạo database_name trên máy chủ đích $ mysql -u root -p database_name < dump.txt password ***** Một cách khác để thực hiện việc này mà không cần sử dụng tệp trung gian là gửi đầu ra của kết xuất MySQL trực tiếp qua mạng tới máy chủ MySQL từ xa. Nếu chúng tôi có thể kết nối với cả hai máy chủ từ máy chủ lưu trữ cơ sở dữ liệu nguồn, hãy sử dụng lệnh sau (Đảm bảo rằng chúng tôi có quyền truy cập vào cả hai máy chủ) $ mysqldump -u root -p database_name \ | mysql -h other-host.com database_name Trong mysqldump, một nửa lệnh kết nối với máy chủ cục bộ và ghi đầu ra kết xuất vào đường ống. Nửa lệnh còn lại kết nối với máy chủ MySQL từ xa trên máy chủ khác. com. Nó đọc đường ống cho đầu vào và gửi từng câu lệnh đến máy chủ khác. máy chủ com Bước đầu tiên để di chuyển cơ sở dữ liệu MySQL là lấy kết xuất dữ liệu mà bạn muốn chuyển. Để làm điều đó, bạn sẽ phải sử dụng lệnh mysqldump. Cú pháp cơ bản của lệnh là.
Nếu cơ sở dữ liệu nằm trên một máy chủ từ xa, hãy đăng nhập vào hệ thống đó bằng cách sử dụng ssh hoặc sử dụng -h and -P options to provide host and port respectively.
Có nhiều tùy chọn khác nhau có sẵn cho lệnh này, hãy xem qua các tùy chọn chính theo trường hợp sử dụng A) Sao lưu cơ sở dữ liệu cụ thể
Lệnh này kết xuất cơ sở dữ liệu được chỉ định vào tệp Bạn có thể chỉ định nhiều cơ sở dữ liệu cho kết xuất bằng lệnh sau
Bạn có thể sử dụng tùy chọn –all-databases để sao lưu tất cả cơ sở dữ liệu trên phiên bản MySQL
B) Sao lưu Các bảng cụ thểCác lệnh trên kết xuất tất cả các bảng trong cơ sở dữ liệu được chỉ định, nếu bạn cần sao lưu một số bảng cụ thể, bạn có thể sử dụng lệnh sau
C) Truy vấn tùy chỉnhNếu bạn muốn sao lưu dữ liệu bằng một số truy vấn tùy chỉnh, bạn sẽ cần sử dụng tùy chọn where do mysqldump cung cấp.
Lưu ý .
2) Sao chép kết xuất cơ sở dữ liệu trên máy chủ đíchKhi bạn đã tạo kết xuất theo thông số kỹ thuật của mình, bước tiếp theo là chuyển tệp kết xuất dữ liệu sang máy chủ đích. Bạn sẽ phải sử dụng lệnh scp cho điều đó
ví dụ 03) Khôi phục kết xuấtBước cuối cùng là khôi phục dữ liệu trên máy chủ đích. Lệnh MySQL trực tiếp cung cấp cách khôi phục để kết xuất dữ liệu vào MySQL 1Thí dụ 2Nếu kết xuất của bạn bao gồm nhiều cơ sở dữ liệu, không chỉ định cơ sở dữ liệu trong lệnh ở trên. 3Phần kết luậnLàm theo các bước nêu trên, bạn có thể di chuyển cơ sở dữ liệu MySQL giữa hai máy chủ một cách dễ dàng nhưng có thể khá cồng kềnh nếu đây là tác vụ định kỳ. Một giải pháp tất cả trong một như Hevo sẽ giải quyết vấn đề này một cách dễ dàng và giúp quản lý tất cả các đường dẫn dữ liệu của bạn một cách tinh tế và có khả năng chịu lỗi. Hevo sẽ tự động lập danh mục tất cả các lược đồ bảng của bạn và sẽ thực hiện tất cả các chuyển đổi cần thiết để di chuyển Cơ sở dữ liệu MySQL giữa các phiên bản MySQL này. Hevo sẽ tìm nạp dữ liệu từ máy chủ MySQL nguồn của bạn theo kiểu gia tăng và khôi phục dữ liệu đó một cách liền mạch vào phiên bản MySQL đích. Hevo cũng sẽ thông báo cho bạn nếu có bất kỳ thay đổi lược đồ hoặc lỗi mạng nào qua email và Slack. Tất cả những điều này có thể đạt được từ Hevo UI, không cần quản lý bất kỳ máy chủ hoặc công việc định kỳ nào HÃY THAM QUAN TRANG WEB CỦA CHÚNG TÔI ĐỂ KHÁM PHÁ HEVOBạn muốn thử Hevo? Đăng ký dùng thử miễn phí 14 ngày và tận mắt trải nghiệm bộ Hevo giàu tính năng. Bạn cũng có thể xem giá cạnh tranh nhất sẽ giúp bạn chọn gói phù hợp cho nhu cầu kinh doanh của mình Chia sẻ kinh nghiệm tìm hiểu của bạn về các bước di chuyển Cơ sở dữ liệu MySQL giữa 2 máy chủ trong phần bình luận bên dưới Làm cách nào để kết nối với cơ sở dữ liệu trong MySQL?Để kết nối với cơ sở dữ liệu MySQL . Nhấp vào tab Dịch vụ Mở rộng nút Trình điều khiển từ Database Explorer. . Nhập tên người dùng và mật khẩu. . Nhấn OK để chấp nhận thông tin đăng nhập. . Nhấn OK để chấp nhận lược đồ mặc định Nhấp chuột phải vào URL Cơ sở dữ liệu MySQL trong cửa sổ Dịch vụ (Ctrl-5) Bạn có thể tham gia trên cơ sở dữ liệu MySQL không?Có, giả sử tài khoản có các quyền phù hợp thì bạn có thể sử dụng . CHỌN |