Điểm:0

Di chuyển máy chủ: mysql

lá cờ mx

Cách tốt nhất và nhanh nhất để di chuyển mysql khi thay đổi máy chủ là gì?

Hiện tại tôi làm điều đó thông qua phpmyadmin, tôi sao lưu db trong máy chủ cũ, mở một người dùng mới trong máy chủ mới, tạo cơ sở dữ liệu mới và tải lên/khôi phục bản sao lưu.

(Tôi sử dụng một cái gì đó như thế này để tăng tốc độ khôi phục cơ sở dữ liệu với thiết bị đầu cuối mysql.)

mysql -u tên người dùng -p cơ sở dữ liệu < /var/www/html/mysql_dump/nomedb.sql

Một thao tác dài và tẻ nhạt... có thể thực hiện theo cách tốt hơn và nhanh hơn để sao chép cơ sở dữ liệu và người dùng mysql sang máy chủ mới không?

Tôi có quyền truy cập ssh và root máy chủ, máy chủ ubuntu 20.04, apache, php8.1

----------cập nhật---------

Để hoàn thiện, tôi thường xuyên sử dụng tập lệnh này để tạo bản sao lưu mysql và tôi tải mọi thứ bằng rsync xuống đĩa cục bộ, vì vậy việc sao lưu cơ sở dữ liệu không phải là vấn đề. Phần tẻ nhạt là khôi phục từng cái một ... https://www.alebalweb-blog.com/66-backup-automatico-mysql-su-server-ubuntu.html (Xin lỗi, mô tả bằng tiếng Ý, nhưng hầu như tất cả đều là mã ...)

lá cờ in
Người dùng + Mật khẩu + Quyền có thể phức tạp nếu máy chủ mới không cùng phiên bản với nguồn. Bạn có biết mọi mật khẩu cho tài khoản người dùng không? Hay những thứ này được sử dụng bởi những người (trái ngược với hệ thống), những người thay đổi mật khẩu của họ?
alebal avatar
lá cờ mx
Tôi nghĩ rằng máy chủ sẽ giống nhau... ít nhiều... tôi cài đặt nó... tôi biết tất cả mật khẩu, không thành vấn đề.
raj avatar
lá cờ cn
raj
Cách đáng tin cậy nhất để sao chép cơ sở dữ liệu MySQL là thông qua mysqldump, cách bạn đang thực hiện. Không nên chỉ sao chép các tệp cơ sở dữ liệu. Chỉ thay vì tạo kết xuất cơ sở dữ liệu trong phpMyAdmin, bạn mới có thể sử dụng trực tiếp mysqldump và sao chép các tệp kết quả sang máy chủ mới.
Điểm:1
lá cờ in

âBestâ khá chủ quan, dẫn đến ý kiến, nhưng đây thường là phương pháp tôi làm theo khi thiết lập cơ sở dữ liệu MySQL mới:

Trên máy chủ mới â¦

  1. Tạo tất cả các cơ sở dữ liệu
    TẠO CƠ SỞ DỮ LIỆU `{dbname}` CHARSET MẶC ĐỊNH=utf8mb4 COLLATE=utf8mb4_unicode_ci;
    TẠO CƠ SỞ DỮ LIỆU â¦
    TẠO CƠ SỞ DỮ LIỆU ⦠
    
  2. Tạo tất cả các tài khoản người dùng và đặt đặc quyền:
    TẠO NGƯỜI DÙNG '{user}'@'localhost' ĐƯỢC XÁC ĐỊNH BẰNG mysql_native_password BẰNG 'superSecretPassword!123';
    CẤP TẤT CẢ TRÊN `{dbname}`.* CHO '{user}'@'localhost';
    TẠO NGƯỜI DÙNG â¦
    CẤP TẤT CẢ â¦
    

Trên máy chủ nguồn â¦

  1. Xuất từng cơ sở dữ liệu một:

    sudo mysqldump {dbname} -n --routines --triggers > dbname.sql
    

    Ghi chú: Bạn không cần sử dụng dòng lệnh cho việc này nếu bạn thích phpMyAdmin hoặc công cụ khác.

    -N • Bỏ qua câu lệnh CREATE DATABASE ... IF EXISTS

    --routines • Kết xuất các thói quen được lưu trữ (chức năng và thủ tục)

    --gây nên • Trình kích hoạt kết xuất cho mỗi bảng được kết xuất

  2. Đóng gói và nén các kết xuất cơ sở dữ liệu để vận chuyển dễ dàng hơn:

    sudo tar -czvf dbs.tar.gz *.sql
    
  3. Sao chép/Gửi tệp nén đến máy chủ mới

Trên máy chủ mới â¦

  1. Trích xuất cơ sở dữ liệu từ tệp nén:
    tar -xvf dbs.tar.sql
    
  2. Nhập cơ sở dữ liệu:
    sudo mysql dbname < dbname.sql
    sudo mysql dbname â¦
    
  3. (Tùy chọn) Khởi động lại MySQL để xóa bộ đệm:
    khởi động lại dịch vụ sudo mysql
    
  4. Tận hưởng một kỳ nghỉ ngắn

Có nhiều cách khác để làm điều này, nhưng tôi làm theo quy trình này vì nó cho phép tôi tránh được các vấn đề ghi đè lên các phiên bản khác nhau của mysql bảng hệ thống (nếu máy chủ mới không phải là cùng một phiên bản) đồng thời đảm bảo tất cả dữ liệu, tài khoản, quyền và chức năng/thủ tục/trình kích hoạt đều được đặt đúng chỗ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.