Sao lưu cơ sở dữ liệu MySQL từ máy chủ từ xa sang máy cục bộ

Nếu bạn xử lý nhiều môi trường máy chủ cho dự án hoặc công ty của mình, có thể khó đảm bảo các môi trường tương ứng như nhau. Ví dụ: lấy trường hợp bạn muốn chạy một số thử nghiệm trên cơ sở dữ liệu sản xuất nhưng không ảnh hưởng đến chính dữ liệu sản xuất. Đây là nơi sao chép có thể giúp

Quá trình

Tập lệnh bash bên dưới có thể kết xuất cơ sở dữ liệu từ xa (e. g. cơ sở dữ liệu sản xuất của bạn) và sao chép nó sang môi trường hoặc máy chủ cục bộ (hoặc thậm chí là một máy chủ từ xa khác). Nó làm điều này theo thứ tự sau

  1. Kết nối với cơ sở dữ liệu từ xa và kết xuất cấu trúc và dữ liệu (sử dụng tiện ích mysqldump)
  2. Kết nối với cơ sở dữ liệu cục bộ và thả các bảng vào cơ sở dữ liệu nhất định
  3. Chạy kết xuất SQL từ Bước 1 vào cơ sở dữ liệu cục bộ và do đó tạo một bản sao của cơ sở dữ liệu từ xa

Kịch bản

Xem mã trên Gist

Cấu hình

Tập lệnh có thể dễ dàng được cấu hình bằng cách sử dụng các biến ở đầu tập lệnh. Những điều này nên tự giải thích và các nhận xét đã được đưa vào tập lệnh để cung cấp cho bạn thêm thông tin. Tuy nhiên, nếu bạn cần trợ lý, vui lòng để lại bình luận bên dưới

Chạy tập lệnh

Giả sử bạn đã lưu tập lệnh vào tệp replicate_db.sh và thêm các quyền thích hợp để thực thi tệp (e. g. chmod 755 replicate_db.sh), bạn có thể chạy tập lệnh bằng cách sử dụng

./replicate_db.sh

Tập lệnh không xuất bất cứ thứ gì nếu nó chạy thành công, nhưng nó sẽ xuất lỗi nếu xảy ra sự cố. Các lỗi bạn có thể thấy bao gồm lỗi kết nối MySQL, lỗi người dùng/mật khẩu, v.v. Nếu bạn không thể kết nối với cơ sở dữ liệu từ xa

  • đảm bảo bạn có quyền truy cập từ xa vào cơ sở dữ liệu – thiết lập MySQL trên máy chủ từ xa chỉ có thể cho phép kết nối cục bộ
  • đảm bảo tên máy chủ / IP / cổng / tên người dùng / mật khẩu / cơ sở dữ liệu chính xác cho các kết nối từ xa và cục bộ
  • đảm bảo tường lửa cho phép kết nối từ xa đến cơ sở dữ liệu/cổng

Hạn chế

Nếu trường hợp sử dụng cụ thể của bạn nếu cụ thể hơn, tập lệnh có thể không phù hợp với nhu cầu của bạn. Ví dụ: tập lệnh này giả sử bạn đang sử dụng cổng MySQL mặc định 3306. Nếu đây không phải là trường hợp trong thiết lập của bạn, bạn sẽ cần sửa đổi các phần có liên quan của tập lệnh để thay đổi các cổng

mysqldump cho phép bạn kết xuất cơ sở dữ liệu được lưu trữ trên máy từ xa. Hãy xem cách thực hiện điều đó cho một, nhiều và tất cả cơ sở dữ liệu được lưu trữ trên một máy chủ từ xa

Chúng ta cần biết người dùng MySQL, mật khẩu, máy chủ và cổng của cơ sở dữ liệu từ xa. Giả sử các giá trị sau cho các ví dụ bên dưới

  • host. 14. 212. 331. 87
  • user. guru_user
  • ________số 8. 3306 (cổng mặc định của MySQL)

Thay thế các giá trị của host, userport bằng thông tin chi tiết của bạn

Kết xuất một cơ sở dữ liệu từ xa duy nhất

Kết xuất nhiều cơ sở dữ liệu từ xa

Kết xuất tất cả cơ sở dữ liệu từ xa

Mysqldump là một tiện ích dòng lệnh được sử dụng để tạo bản sao lưu logic của cơ sở dữ liệu MySQL. Nó tạo ra các Câu lệnh SQL có thể được sử dụng để tạo lại các đối tượng và dữ liệu cơ sở dữ liệu. Trong một số trường hợp, bạn có thể thấy mình cần kết xuất cơ sở dữ liệu MySQL của mình từ một máy chủ từ xa. SSH là một công cụ tuyệt vời để thiết lập kết nối an toàn để thực hiện chính xác điều đó.  

Giả sử bạn đã sẵn sàng phát trực tiếp trang dàn dựng của mình với Servebolt, nhưng cơ sở dữ liệu phải được cập nhật với dữ liệu mới từ trang trực tiếp hiện tại của bạn. Trong trường hợp đó, có thể hữu ích khi lấy một bản sao (kết xuất) cơ sở dữ liệu MySQL của bạn từ xa. Đây là hướng dẫn đơn giản về cách thực hiện bằng cách sử dụng SSH để đăng nhập vào máy chủ từ xa

cú pháp

mysqldump2

Sao lưu cơ sở dữ liệu MySQL từ máy chủ từ xa sang máy cục bộ

Khi nhấn enter, trước tiên bạn được hỏi mật khẩu SSH cho máy chủ từ xa và sau đó là mật khẩu cơ sở dữ liệu. Thao tác này sẽ đặt một bản sao cơ sở dữ liệu của bạn vào thư mục /private/-của trang web của bạn. Nếu bạn cần tải nó lên cơ sở dữ liệu hiện có của mình bằng Servebolt, bạn có thể sử dụng tệp này để đồng bộ hóa nó

mysqldump3

Khi nhấn enter, bạn được yêu cầu nhập mật khẩu cơ sở dữ liệu. Sau khi điền đúng mật khẩu, máy chủ sẽ làm phần còn lại. Sau khi quá trình kết thúc, bạn có thể tìm thấy bản sao cơ sở dữ liệu của mình trong tệp mà bạn đã tạo theo cách này

Hãy cho chúng tôi thông tin phản hồi của bạn về bài viết này

Bằng cách cung cấp cho chúng tôi thông tin phản hồi, bạn có thể giúp chúng tôi cung cấp nội dung tốt hơn về chủ đề này trong tương lai. Điều này đã giúp bạn?

Vâng, điều này đã giúp

Không, điều này không giúp được gì

Bạn muốn tăng tốc trang web của mình một cách dễ dàng?

Thiết lập trang web của bạn trên Servebolt, miễn phí trong 60 ngày và tự mình xem nó có thể hoạt động nhanh như thế nào trên dịch vụ lưu trữ cực nhanh của chúng tôi

Làm cách nào để sao lưu cơ sở dữ liệu MySQL từ máy chủ từ xa?

Sao lưu một Cơ sở dữ liệu MySQL duy nhất .
tên tài khoản. Chỉ định tên người dùng MySQL
Mật khẩu. Chỉ định mật khẩu của người dùng MySQL
Tên cơ sở dữ liệu. Tên của cơ sở dữ liệu mà bạn muốn sao lưu
Tập tin dump. sql. Tên của tệp kết xuất mà bạn muốn tạo

Làm cách nào để sao chép cơ sở dữ liệu MySQL từ máy chủ sang máy cục bộ?

Để sao chép cơ sở dữ liệu MySQL, bạn cần làm theo các bước sau. Đầu tiên, tạo một cơ sở dữ liệu mới bằng cách sử dụng câu lệnh CREATE DATABASE. Thứ hai, xuất tất cả các đối tượng cơ sở dữ liệu và dữ liệu của cơ sở dữ liệu mà bạn muốn sao chép bằng công cụ mysqldump. Thứ ba, nhập tệp kết xuất SQL vào cơ sở dữ liệu mới

Làm cách nào để kết xuất cơ sở dữ liệu MySQL tại địa phương?

Tạo bản sao lưu bằng tiện ích mysqldump .
-u [tên người dùng]. Đó là tên người dùng để kết nối với máy chủ MySQL. .
-p [mật khẩu]. Mật khẩu hợp lệ của người dùng MySQL
[Tùy chọn]. Tùy chọn cấu hình để tùy chỉnh sao lưu
[tên cơ sở dữ liệu]. Tên của cơ sở dữ liệu mà bạn muốn sao lưu