Linux và mysql có được sử dụng cùng nhau không?

Lệnh khởi chạy một tập lệnh tương tác đầy đủ, nhắc nhở từng bước trong quy trình. Tập lệnh cho phép bạn cải thiện bảo mật theo các cách sau

  • Đặt mật khẩu cho tài khoản root
  • Xóa người dùng ẩn danh
  • Không cho phép đăng nhập root từ xa (bên ngoài máy chủ cục bộ)

Ghi chú

Không thể cài đặt máy chủ cơ sở dữ liệu MySQLMariaDB . Trong RHEL 9, các phiên bản khác nhau của máy chủ cơ sở dữ liệu có thể được sử dụng trong vùng chứa.

3. 3. Định cấu hình MySQL

Để định cấu hình máy chủ MySQL cho kết nối mạng, hãy sử dụng quy trình sau.

Thủ tục

  1. Chỉnh sửa phần

    # systemctl restart mysqld.service
    3 của tệp
    # systemctl restart mysqld.service
    4. Bạn có thể đặt các chỉ thị cấu hình sau

    • # systemctl restart mysqld.service
      5 - là địa chỉ mà máy chủ lắng nghe. tùy chọn có thể là

      • một tên máy chủ
      • một địa chỉ IPv4
      • một địa chỉ IPv6

    • # systemctl restart mysqld.service
      6 - kiểm soát xem máy chủ có lắng nghe các kết nối TCP/IP hay không. giá trị có thể là

      • 0 - để lắng nghe tất cả khách hàng
      • 1 - chỉ lắng nghe khách hàng địa phương

    • # systemctl restart mysqld.service
      7 - cổng mà trên đó MySQL lắng nghe các kết nối TCP/IP.

  2. Khởi động lại dịch vụ

    # systemctl restart mysqld.service
    1

    # systemctl restart mysqld.service

3. 4. Sao lưu dữ liệu MySQL

Có hai cách chính để sao lưu dữ liệu từ cơ sở dữ liệu MySQL trong Red Hat Enterprise Linux 9.

  • sao lưu hợp lý
  • Sao lưu vật lý

Bản sao lưu logic bao gồm các câu lệnh SQL cần thiết để khôi phục dữ liệu. Loại sao lưu này xuất thông tin và bản ghi trong tệp văn bản thuần túy.

Ưu điểm chính của sao lưu logic so với sao lưu vật lý là tính di động và tính linh hoạt. Dữ liệu có thể được khôi phục trên các cấu hình phần cứng khác, phiên bản MySQL hoặc Hệ thống quản lý cơ sở dữ liệu (DBMS), điều này không thể thực hiện được với các bản sao lưu vật lý.

Lưu ý rằng sao lưu logic có thể được thực hiện nếu

# systemctl restart mysqld.service
9 đang chạy. Sao lưu logic không bao gồm các tệp nhật ký và cấu hình

Bản sao lưu vật lý bao gồm các bản sao của tệp và thư mục lưu trữ nội dung.

Sao lưu vật lý có những ưu điểm sau so với sao lưu logic

  • Đầu ra nhỏ gọn hơn
  • Sao lưu có kích thước nhỏ hơn
  • Sao lưu và khôi phục nhanh hơn
  • Sao lưu bao gồm các tệp nhật ký và cấu hình

Lưu ý rằng sao lưu vật lý phải được thực hiện khi

# systemctl restart mysqld.service
9 không chạy hoặc tất cả các bảng trong cơ sở dữ liệu bị khóa để ngăn các thay đổi trong quá trình sao lưu

Bạn có thể sử dụng một trong các phương pháp sao lưu MySQL sau để sao lưu dữ liệu từ MySQL< . database:

  • Sao lưu logic với
    # mysqldump [options] --databases db_name > backup-file.sql
    1
  • Sao lưu hệ thống tập tin
  • Sao chép như một giải pháp sao lưu

3. 4. 1. Thực hiện sao lưu logic với mysqldump

Ứng dụng khách mysqldump là tiện ích sao lưu, có thể dùng để kết xuất cơ sở dữ liệu hoặc tập hợp cơ sở dữ liệu nhằm mục đích sao lưu . Đầu ra của mysqldump thường bao gồm các câu lệnh SQL để tạo lại cấu trúc bảng máy chủ, điền dữ liệu vào bảng hoặc cả hai. mysqldump cũng có thể tạo tệp ở các định dạng khác, bao gồm XML và các định dạng văn bản được phân tách, chẳng hạn như CSV.

Để thực hiện sao lưu mysqldump , bạn có thể sử dụng một trong các tùy chọn sau.

  • Sao lưu một hoặc nhiều cơ sở dữ liệu đã chọn
  • Sao lưu tất cả cơ sở dữ liệu
  • Sao lưu một tập hợp con các bảng từ một cơ sở dữ liệu

Thủ tục

  • Để kết xuất một cơ sở dữ liệu, hãy chạy

    # mysqldump [options] --databases db_name > backup-file.sql
  • Để kết xuất nhiều cơ sở dữ liệu cùng một lúc, hãy chạy

    # mysqldump [options] --databases db_name1 [db_name2 ...] > backup-file.sql
  • Để kết xuất tất cả cơ sở dữ liệu, hãy chạy

    # mysqldump [options] --all-databases > backup-file.sql
  • Để tải một hoặc nhiều cơ sở dữ liệu đầy đủ đã kết xuất trở lại máy chủ, hãy chạy

    # mysql < backup-file.sql
  • Để tải cơ sở dữ liệu vào máy chủ MySQL từ xa, hãy chạy.

    # mysql --host=remote_host < backup-file.sql
  • Để kết xuất một tập hợp con các bảng từ một cơ sở dữ liệu, hãy thêm danh sách các bảng đã chọn vào cuối lệnh

    # mysqldump [options] --databases db_name > backup-file.sql
    1

    # systemctl start mysqld.service
    0
  • Để tải một tập hợp con các bảng được kết xuất từ ​​một cơ sở dữ liệu, hãy chạy

    # systemctl start mysqld.service
    1

    Ghi chú

    Cơ sở dữ liệu db_name phải tồn tại vào thời điểm này.

  • Để xem danh sách các tùy chọn mà mysqldump hỗ trợ, hãy chạy.

    # systemctl start mysqld.service
    2

tài nguyên bổ sung

  • Sao lưu logic với mysqldump

3. 4. 2. Thực hiện sao lưu hệ thống tập tin

Để tạo bản sao lưu hệ thống tệp của tệp dữ liệu MySQL , hãy sao chép nội dung của MySQL< . data directory to your backup location.

Để sao lưu cả cấu hình hiện tại của bạn hoặc các tệp nhật ký, hãy sử dụng các bước tùy chọn của quy trình sau

Thủ tục

  1. Ngừng dịch vụ

    # systemctl restart mysqld.service
    1

    # systemctl start mysqld.service
    3
  2. Sao chép các tệp dữ liệu vào vị trí cần thiết

    # systemctl start mysqld.service
    4
  3. Tùy chọn, sao chép các tệp cấu hình vào vị trí cần thiết

    # systemctl start mysqld.service
    5
  4. Tùy chọn, sao chép tệp nhật ký vào vị trí cần thiết

    # systemctl start mysqld.service
    6
  5. Bắt đầu dịch vụ

    # systemctl restart mysqld.service
    1

    # systemctl start mysqld.service
  6. Khi tải dữ liệu đã sao lưu từ vị trí sao lưu vào thư mục

    # mysqldump [options] --databases db_name > backup-file.sql
    5, hãy đảm bảo rằng
    # mysqldump [options] --databases db_name > backup-file.sql
    6 là chủ sở hữu của tất cả dữ liệu trong
    # mysqldump [options] --databases db_name > backup-file.sql
    5

    # systemctl start mysqld.service
    8

3. 4. 3. Sao chép như một giải pháp sao lưu

Replication là một giải pháp sao lưu thay thế cho các máy chủ nguồn. Nếu một máy chủ nguồn sao chép sang một máy chủ bản sao, các bản sao lưu có thể được chạy trên bản sao mà không có bất kỳ tác động nào đến nguồn. Nguồn vẫn có thể chạy trong khi bạn tắt bản sao và sao lưu dữ liệu từ bản sao

Để biết hướng dẫn về cách sao chép cơ sở dữ liệu MySQL , hãy xem.

Cảnh báo

Bản thân bản sao không phải là một giải pháp sao lưu đầy đủ. Sao chép bảo vệ máy chủ nguồn khỏi lỗi phần cứng, nhưng nó không đảm bảo bảo vệ khỏi mất dữ liệu. Bạn nên sử dụng bất kỳ giải pháp sao lưu nào khác trên bản sao cùng với phương pháp này

tài nguyên bổ sung

  • Tài liệu sao chép MySQL

3. 5. Di chuyển sang phiên bản RHEL 9 của MySQL 8. 0

RHEL 8 chứa MySQL 8. 0 , MariaDB 10. 3MariaDB 10. 5 triển khai máy chủ từ họ cơ sở dữ liệu MySQL. RHEL 9 cung cấp MySQL 8. 0MariaDB 10. 5 .

Quy trình này mô tả quá trình di chuyển từ phiên bản RHEL 8 của MySQL 8. 0 lên phiên bản RHEL 9 của MySQL 8. 0 sử dụng tiện ích

# mysqldump [options] --databases db_name > backup-file.sql
8. Tiện ích
# mysqldump [options] --databases db_name > backup-file.sql
8 được cung cấp bởi gói
# mysqldump [options] --databases db_name1 [db_name2 ...] > backup-file.sql
0.

điều kiện tiên quyết

  • Trước khi thực hiện nâng cấp, hãy sao lưu tất cả dữ liệu của bạn được lưu trữ trong cơ sở dữ liệu MySQL . Thấy.

Thủ tục

  1. Đảm bảo rằng gói

    # mysqldump [options] --databases db_name1 [db_name2 ...] > backup-file.sql
    0 được cài đặt trên hệ thống RHEL 9

    # dnf install mysql-server
  2. Đảm bảo rằng dịch vụ

    # systemctl restart mysqld.service
    1 không chạy trên hệ thống nguồn và hệ thống đích tại thời điểm sao chép dữ liệu

    # systemctl start mysqld.service
    3
  3. Sao chép dữ liệu từ vị trí nguồn vào thư mục
    # mysqldump [options] --databases db_name1 [db_name2 ...] > backup-file.sql
    3 trên hệ thống đích RHEL 9
  4. Đặt quyền thích hợp và bối cảnh SELinux cho các tệp được sao chép trên hệ thống đích

    # systemctl enable mysqld.service
    1
  5. Đảm bảo rằng

    # mysqldump [options] --databases db_name > backup-file.sql
    6 là chủ sở hữu của tất cả dữ liệu trong thư mục
    # mysqldump [options] --databases db_name > backup-file.sql
    5

    # systemctl start mysqld.service
    8
  6. Khởi động máy chủ MySQL trên hệ thống đích.

    # systemctl start mysqld.service

    Ghi chú. Trong các phiên bản trước của MySQL , lệnh

    # mysqldump [options] --databases db_name > backup-file.sql
    8 là cần thiết để kiểm tra và sửa chữa các bảng nội bộ. Điều này hiện được thực hiện tự động khi bạn khởi động máy chủ.

3. 6. Sao chép MySQL

MySQL cung cấp nhiều tùy chọn cấu hình khác nhau để sao chép, từ cơ bản đến nâng cao. Phần này mô tả một cách dựa trên giao dịch để sao chép trong MySQL trên các máy chủ MySQL mới cài đặt bằng cách sử dụng số nhận dạng giao dịch toàn cầu (GTID). Sử dụng GTID giúp đơn giản hóa việc xác định giao dịch và xác minh tính nhất quán.

Để thiết lập bản sao trong MySQL , bạn phải.

Quan trọng

Nếu bạn muốn sử dụng các máy chủ MySQL hiện có để sao chép, trước tiên bạn phải đồng bộ hóa dữ liệu. Xem tài liệu ngược dòng để biết thêm thông tin.

3. 6. 1. Định cấu hình máy chủ nguồn MySQL

Phần này mô tả các tùy chọn cấu hình cần thiết cho máy chủ nguồn MySQL để chạy và sao chép đúng tất cả các thay đổi được thực hiện trên máy chủ cơ sở dữ liệu.

điều kiện tiên quyết

  • Máy chủ nguồn được cài đặt

Thủ tục

  1. Bao gồm các tùy chọn sau trong tệp

    # systemctl restart mysqld.service
    4 trong phần
    # systemctl restart mysqld.service
    3

    • # mysqldump [options] --databases db_name1 [db_name2 ...] > backup-file.sql
      9

      Tùy chọn này là bắt buộc đối với các kết nối được tạo từ bản sao tới nguồn

    • # mysqldump [options] --all-databases > backup-file.sql
      0

      The id phải là duy nhất.

    • # mysqldump [options] --all-databases > backup-file.sql
      1

      Tùy chọn này xác định đường dẫn đến tệp nhật ký nhị phân của máy chủ nguồn MySQL . Ví dụ.

      # mysqldump [options] --all-databases > backup-file.sql
      2.

    • # mysqldump [options] --all-databases > backup-file.sql
      3

      Tùy chọn này cho phép số nhận dạng giao dịch toàn cầu (GTID) trên máy chủ

    • # mysqldump [options] --all-databases > backup-file.sql
      4

      Máy chủ thực thi tính nhất quán của GTID bằng cách chỉ cho phép thực thi các câu lệnh có thể được ghi lại an toàn bằng GTID

    • Tùy chọn.

      # mysqldump [options] --all-databases > backup-file.sql
      5

      Sử dụng tùy chọn này nếu bạn chỉ muốn sao chép các cơ sở dữ liệu đã chọn. Để sao chép nhiều cơ sở dữ liệu đã chọn, hãy chỉ định riêng từng cơ sở dữ liệu

      # systemctl enable mysqld.service
      4
    • Tùy chọn.

      # mysqldump [options] --all-databases > backup-file.sql
      6

      Sử dụng tùy chọn này để loại trừ một cơ sở dữ liệu cụ thể khỏi bản sao

  2. Khởi động lại dịch vụ

    # systemctl restart mysqld.service
    1

    # systemctl restart mysqld.service

3. 6. 2. Định cấu hình máy chủ bản sao MySQL

Phần này mô tả các tùy chọn cấu hình cần thiết cho máy chủ sao chép MySQL để đảm bảo sao chép thành công.

điều kiện tiên quyết

  • Máy chủ bản sao được cài đặt

Thủ tục

  1. Bao gồm các tùy chọn sau trong tệp

    # systemctl restart mysqld.service
    4 trong phần
    # systemctl restart mysqld.service
    3

    • # mysqldump [options] --all-databases > backup-file.sql
      0

      The id phải là duy nhất.

    • # mysql < backup-file.sql
      1

      Nhật ký chuyển tiếp là một tập hợp các tệp nhật ký được tạo bởi máy chủ bản sao MySQL trong quá trình sao chép.

    • # mysql < backup-file.sql
      2

      Tùy chọn này xác định đường dẫn đến tệp nhật ký nhị phân của máy chủ bản sao MySQL . Ví dụ.

      # mysqldump [options] --all-databases > backup-file.sql
      2.

      Tùy chọn này không bắt buộc đối với bản sao nhưng được khuyến khích mạnh mẽ

    • # mysqldump [options] --all-databases > backup-file.sql
      3

      Tùy chọn này cho phép số nhận dạng giao dịch toàn cầu (GTID) trên máy chủ

    • # mysqldump [options] --all-databases > backup-file.sql
      4

      Máy chủ thực thi tính nhất quán của GTID bằng cách chỉ cho phép thực thi các câu lệnh có thể được ghi lại an toàn bằng GTID

    • # mysql < backup-file.sql
      6

      Tùy chọn này đảm bảo rằng các bản cập nhật nhận được từ máy chủ nguồn được ghi vào nhật ký nhị phân của bản sao

    • # mysql < backup-file.sql
      7

      Tùy chọn này đảm bảo rằng máy chủ bản sao không khởi động chuỗi sao chép khi máy chủ bản sao khởi động

    • Tùy chọn.

      # mysqldump [options] --all-databases > backup-file.sql
      5

      Sử dụng tùy chọn này nếu bạn chỉ muốn sao chép một số cơ sở dữ liệu nhất định. Để sao chép nhiều cơ sở dữ liệu, hãy chỉ định riêng từng cơ sở dữ liệu

      # systemctl enable mysqld.service
      4
    • Tùy chọn.

      # mysqldump [options] --all-databases > backup-file.sql
      6

      Sử dụng tùy chọn này để loại trừ một cơ sở dữ liệu cụ thể khỏi bản sao

  2. Khởi động lại dịch vụ

    # systemctl restart mysqld.service
    1

    # systemctl restart mysqld.service

3. 6. 3. Tạo người dùng sao chép trên máy chủ nguồn MySQL

Bạn phải tạo một người dùng sao chép và cấp cho người dùng này các quyền cần thiết cho lưu lượng sao chép. Quy trình này cho biết cách tạo người dùng sao chép với các quyền thích hợp. Chỉ thực hiện các bước này trên máy chủ nguồn

điều kiện tiên quyết

  • Máy chủ nguồn được cài đặt và cấu hình như được mô tả trong

Thủ tục

  1. Tạo người dùng sao chép

    # systemctl enable mysqld.service
    8
  2. Cấp quyền sao chép người dùng

    # systemctl enable mysqld.service
    9
  3. Tải lại các bảng cấp trong cơ sở dữ liệu MySQL .

    $ mysql_secure_installation
    0
  4. Đặt máy chủ nguồn ở trạng thái chỉ đọc

    $ mysql_secure_installation
    1

3. 6. 4. Kết nối máy chủ bản sao với máy chủ nguồn

Trên máy chủ bản sao MySQL , bạn phải định cấu hình thông tin xác thực và địa chỉ của máy chủ nguồn. Sử dụng quy trình sau để triển khai máy chủ bản sao.

điều kiện tiên quyết

  • Máy chủ nguồn được cài đặt và cấu hình như được mô tả trong
  • Máy chủ bản sao được cài đặt và cấu hình như được mô tả trong
  • Bạn đã tạo một người dùng sao chép. Thấy

Thủ tục

  1. Đặt máy chủ bản sao ở trạng thái chỉ đọc

    $ mysql_secure_installation
    1
  2. Định cấu hình nguồn sao chép

    $ mysql_secure_installation
    3
  3. Bắt đầu chuỗi bản sao trong máy chủ bản sao MySQL .

    $ mysql_secure_installation
    4
  4. Bỏ đặt trạng thái chỉ đọc trên cả máy chủ nguồn và máy chủ bản sao

    $ mysql_secure_installation
    5
  5. Tùy chọn. Kiểm tra trạng thái của máy chủ bản sao cho mục đích gỡ lỗi.

    $ mysql_secure_installation
    6

    Ghi chú

    Nếu máy chủ bản sao không thể khởi động hoặc kết nối, bạn có thể bỏ qua một số sự kiện nhất định theo vị trí tệp nhật ký nhị phân được hiển thị trong đầu ra của lệnh

    # mysql --host=remote_host < backup-file.sql
    1. Ví dụ: bỏ qua sự kiện đầu tiên từ vị trí đã xác định

    $ mysql_secure_installation
    7

    và thử khởi động lại máy chủ bản sao

  6. Tùy chọn. Dừng luồng bản sao trong máy chủ bản sao.

    $ mysql_secure_installation
    8

3. 6. 5. các bước xác minh

  1. Tạo cơ sở dữ liệu mẫu trên máy chủ nguồn

    $ mysql_secure_installation
    9
  2. Xác minh rằng cơ sở dữ liệu
    # mysql --host=remote_host < backup-file.sql
    2 sao chép trên máy chủ bản sao
  3. Hiển thị thông tin trạng thái về tệp nhật ký nhị phân của máy chủ MySQL bằng cách thực hiện lệnh sau trên máy chủ nguồn hoặc máy chủ bản sao.

    # systemctl restart mysqld.service
    0

    Cột

    # mysql --host=remote_host < backup-file.sql
    3, hiển thị một bộ GTID cho các giao dịch được thực hiện trên nguồn, không được để trống

    Ghi chú

    Cùng một bộ GTID được hiển thị trong hàng

    # mysql --host=remote_host < backup-file.sql
    3 khi bạn sử dụng
    # mysql --host=remote_host < backup-file.sql
    5 trên máy chủ bản sao

    MySQL có hoạt động với Linux không?

    Linux. Cách dễ nhất để cài đặt MySQL là sử dụng kho MySQL . Đối với các bản phân phối Linux dựa trên Yum như Oracle Linux, Red Hat Enterprise Linux và Fedora, hãy làm theo hướng dẫn trong Hướng dẫn nhanh để sử dụng Kho lưu trữ MySQL Yum.

    Làm cách nào để kết nối MySQL trong Linux?

    TRUY CẬP CƠ SỞ DỮ LIỆU MYSQL .
    Đăng nhập vào máy chủ web Linux của bạn thông qua Secure Shell
    Mở chương trình máy khách MySQL trên máy chủ trong thư mục /usr/bin
    Nhập cú pháp sau để truy cập cơ sở dữ liệu của bạn. $ mysql -h {tên máy chủ} -u tên người dùng -p {tên cơ sở dữ liệu} Mật khẩu. {mật khẩu của bạn}

    Cơ sở dữ liệu nào được sử dụng trong Linux?

    Các cơ sở dữ liệu có sẵn cho Linux bao gồm từ các công cụ nhúng, nhỏ như SQLite đến các cơ sở dữ liệu quan hệ mạnh mẽ như MySQL và thậm chí cả cơ sở dữ liệu NoSQL cho dữ liệu lớn. Some of the more popular databases available for Linux include: PostgreSQL. MariaDB.

    MySQL tốt hơn trên Windows hay Linux?

    Có một số lý do tại sao Linux là lựa chọn tốt hơn windows , nhưng một số lý do lớn là; . Đúng là với Linux, việc thiết lập cấu hình và daemon có thể phức tạp hơn để đảm bảo máy chủ của bạn hoạt động bình thường, nhưng cuối cùng, việc thiết lập cũng đáng.