MySQL có sử dụng SSL không?

Trước khi cài đặt chứng chỉ SSL trên cơ sở dữ liệu MySQL của bạn, hãy sao lưu và xóa các tệp chứng chỉ mặc định. Bạn có thể chọn tên thư mục của riêng bạn cho bước này. Ví dụ này sử dụng thư mục mysql-backup-certs. Để thực hiện các bước sau, hãy chuyển sang người dùng root

  1. Tạo một thư mục sao lưu mới

    mkdir -p ~/mysql-backup-certs/
    

  2. Chuyển đến thư mục /var/lib/mysql và di chuyển mọi chứng chỉ mặc định vào thư mục sao lưu mới tạo của bạn

    cd /var/lib/mysql
    mv ca.pem ca-key.pem ~/mysql-backup-certs/
    mv server-key.pem server-cert.pem ~/mysql-backup-certs/
    mv client-key.pem client-cert.pem ~/mysql-backup-certs/
    mv private_key.pem public_key.pem ~/mysql-backup-certs/
    

  3. Khởi động lại MySQL bằng cách chạy một trong các lệnh sau

    hoặc

  4. Sử dụng một trong các lệnh sau để kiểm tra trạng thái

    cd /var/lib/mysql
    mv ca.pem ca-key.pem ~/mysql-backup-certs/
    mv server-key.pem server-cert.pem ~/mysql-backup-certs/
    mv client-key.pem client-cert.pem ~/mysql-backup-certs/
    mv private_key.pem public_key.pem ~/mysql-backup-certs/
    
    3

    hoặc

  5. Kiểm tra trạng thái SSL từ bên trong vỏ MySQL. Để thực hiện việc này, hãy đăng nhập vào MySQL với tư cách là người dùng root

    mysql -u root -p
    [Enter MySQL root password]
    

  6. Chạy truy vấn sau để kiểm tra trạng thái SSL trong MySQL

    SHOW GLOBAL VARIABLES LIKE '%ssl%';
    STATUS;
    

    Ghi chú. Bạn không cần phải sử dụng chữ in hoa. Ví dụ sử dụng chúng để phân biệt cú pháp lệnh với những gì bạn đang truy vấn

    Trong lệnh trước, bạn muốn xem trạng thái SSL là bị vô hiệu hóa và người dùng root được kết nối mà không có SSL

  7. Để kích hoạt kết nối SSL với chứng chỉ riêng của chúng tôi bằng cách chỉnh sửa tệp my. cnf, hãy chạy một trong các lệnh sau

    hoặc

  8. Tìm phần [mysqld] và thêm các cài đặt cấu hình sau

    # You will use your own SSL certificates directory for these. The following are examples only.
    ssl-ca=/etc/pki/tls/certs/ca.pem
    ssl-cert=/etc/pki/tls/certs/server-cert.pem
    ssl-key=/etc/pki/tls/private/server-key.pem
    

  9. Lưu và thoát tệp. Sau đó, khởi động lại MySQL bằng cách chạy một trong các lệnh sau

    hoặc

  10. Sau khi MySQL được sao lưu, hãy đăng nhập lại vào MySQL shell

    mysql -u root -p
    [Enter MySQL root password]
    

  11. Chạy lại truy vấn SSL

    SHOW VARIABLES LIKE '%ssl%';
    STATUS;
    

  12. Nếu giá trị phần SSL hiển thị có, SSL được bật cho MySQL. Tuy nhiên, bạn vẫn thấy rằng người dùng root không được kết nối bằng cách sử dụng SSL. điều này là bình thường. Nếu bạn muốn thay đổi điều này, bạn có thể buộc tất cả các kết nối người dùng localhost sử dụng SSL. Bạn cần chỉnh sửa my. cnf bằng cách chạy một trong các lệnh sau

    hoặc

  13. Nhập cấu hình sau vào cuối

    ________số 8

  14. Khởi động lại MySQL. Sau khi MySQL được sao lưu, hãy đăng nhập lại vào MySQL shell

    mysql -u root -p
    [Enter MySQL root password]
    

  15. Chạy lại truy vấn sau

    SHOW VARIABLES LIKE '%ssl%';
    STATUS;
    

Nếu bạn chỉ muốn kích hoạt kết nối SSL từ kết nối localhost thì bạn đã hoàn tất. Tuy nhiên, nếu bạn cũng muốn bật đăng nhập từ xa cho MySQL, hãy đọc tiếp

Kích hoạt kết nối từ xa cho MySQL

Hướng dẫn sau kích hoạt kết nối từ xa cho MySQL. Ngoài ra, những người dùng từ xa này cần phải có các tệp chứng chỉ được ký bởi cơ quan cấp chứng chỉ [CA] của bạn để kết nối

Ví dụ này biểu thị [bằng cách sử dụng ba dấu sao.

cd /var/lib/mysql
mv ca.pem ca-key.pem ~/mysql-backup-certs/
mv server-key.pem server-cert.pem ~/mysql-backup-certs/
mv client-key.pem client-cert.pem ~/mysql-backup-certs/
mv private_key.pem public_key.pem ~/mysql-backup-certs/
4] cài đặt để buộc chữ ký CA nếu bạn muốn cho phép kết nối từ xa mà không cần CA

  1. Sử dụng trình soạn thảo văn bản dòng lệnh ưa thích của bạn để chỉnh sửa /etc/my. tập tin cnf một lần nữa

    hoặc

  2. Bao gồm phần sau ở cuối phần [mysqld]

    cd /var/lib/mysql
    mv ca.pem ca-key.pem ~/mysql-backup-certs/
    mv server-key.pem server-cert.pem ~/mysql-backup-certs/
    mv client-key.pem client-cert.pem ~/mysql-backup-certs/
    mv private_key.pem public_key.pem ~/mysql-backup-certs/
    
    0

  3. Lưu và thoát tệp bằng cách sử dụng

    cd /var/lib/mysql
    mv ca.pem ca-key.pem ~/mysql-backup-certs/
    mv server-key.pem server-cert.pem ~/mysql-backup-certs/
    mv client-key.pem client-cert.pem ~/mysql-backup-certs/
    mv private_key.pem public_key.pem ~/mysql-backup-certs/
    
    5

  4. Khởi động lại MySQL. Xác nhận MySQL đang chạy lại. Bạn cần đăng nhập lại vào MySQL shell

  5. Sau khi bạn đăng nhập, hãy tạo người dùng bằng cách chạy một trong các lệnh sau

    cd /var/lib/mysql
    mv ca.pem ca-key.pem ~/mysql-backup-certs/
    mv server-key.pem server-cert.pem ~/mysql-backup-certs/
    mv client-key.pem client-cert.pem ~/mysql-backup-certs/
    mv private_key.pem public_key.pem ~/mysql-backup-certs/
    
    1

    hoặc

    cd /var/lib/mysql
    mv ca.pem ca-key.pem ~/mysql-backup-certs/
    mv server-key.pem server-cert.pem ~/mysql-backup-certs/
    mv client-key.pem client-cert.pem ~/mysql-backup-certs/
    mv private_key.pem public_key.pem ~/mysql-backup-certs/
    
    2

  6. Sau khi bạn cấp cho người dùng này các quyền đối với cơ sở dữ liệu mà bạn muốn họ có quyền, hãy xóa các đặc quyền để cập nhật các quyền của MySQL từ bên trong trình bao

Bạn có thể nhận thấy rằng

cd /var/lib/mysql
mv ca.pem ca-key.pem ~/mysql-backup-certs/
mv server-key.pem server-cert.pem ~/mysql-backup-certs/
mv client-key.pem client-cert.pem ~/mysql-backup-certs/
mv private_key.pem public_key.pem ~/mysql-backup-certs/
6 nằm sau ký hiệu
cd /var/lib/mysql
mv ca.pem ca-key.pem ~/mysql-backup-certs/
mv server-key.pem server-cert.pem ~/mysql-backup-certs/
mv client-key.pem client-cert.pem ~/mysql-backup-certs/
mv private_key.pem public_key.pem ~/mysql-backup-certs/
7 trong lệnh
cd /var/lib/mysql
mv ca.pem ca-key.pem ~/mysql-backup-certs/
mv server-key.pem server-cert.pem ~/mysql-backup-certs/
mv client-key.pem client-cert.pem ~/mysql-backup-certs/
mv private_key.pem public_key.pem ~/mysql-backup-certs/
8 trước đó là thứ thực sự biểu thị người dùng là người dùng từ xa

Như một phần thưởng, nếu bạn có người dùng truy cập MySQL chỉ từ một địa chỉ IP tĩnh, bạn có thể nhập địa chỉ IP đó thay cho

cd /var/lib/mysql
mv ca.pem ca-key.pem ~/mysql-backup-certs/
mv server-key.pem server-cert.pem ~/mysql-backup-certs/
mv client-key.pem client-cert.pem ~/mysql-backup-certs/
mv private_key.pem public_key.pem ~/mysql-backup-certs/
6 để cho phép người dùng đó truy cập MySQL từ địa chỉ IP cụ thể của họ. Tuy nhiên, lưu ý rằng người dùng chỉ có thể truy cập cơ sở dữ liệu từ địa chỉ IP đó. Nếu địa chỉ IP của họ thay đổi, họ không còn quyền truy cập. Đó là lý do tại sao hầu hết các quản trị viên sử dụng cài đặt từ xa chung của
cd /var/lib/mysql
mv ca.pem ca-key.pem ~/mysql-backup-certs/
mv server-key.pem server-cert.pem ~/mysql-backup-certs/
mv client-key.pem client-cert.pem ~/mysql-backup-certs/
mv private_key.pem public_key.pem ~/mysql-backup-certs/
6 để thay thế

Bây giờ bạn đã kích hoạt kết nối SSL cũng như quyền truy cập từ xa vào cơ sở dữ liệu MySQL của mình

©2020 Rackspace US, Inc

Trừ khi có ghi chú khác, nội dung trên trang này được cấp phép theo Creative Commons Attribution-NonCommercial-NoDerivs 3. 0 Giấy phép chưa chuyển đổi

Làm cách nào để kết nối với MySQL mà không cần SSL?

Bạn cần tắt SSL rõ ràng bằng cách đặt useSSL=false hoặc đặt useSSL=true và cung cấp cửa hàng tin cậy để xác minh chứng chỉ máy chủ . Nếu bạn muốn tránh cảnh báo MySQL ở trên, hãy sử dụng cú pháp đề cập ở đầu.

Làm cách nào để kiểm tra kết nối SSL MySQL?

GIẢI PHÁP CHÍNH THỨC THEO TRANG WEB MYSQL . CHỌN * TỪ performance_schema. session_status WHERE VARIABLE_NAME IN ['Ssl_version','Ssl_cipher']; .

Kết nối MySQL có được mã hóa theo mặc định không?

Theo mặc định, các chương trình MySQL cố gắng kết nối bằng cách sử dụng mã hóa nếu máy chủ hỗ trợ kết nối được mã hóa , quay lại kết nối không được mã hóa nếu không thể thiết lập kết nối được mã hóa. Vì phiên bản MySQL >= 5. 7, các tệp TLS/SSL và RSA có thể được tạo hoặc tạo với sự hỗ trợ của các biến.

MySQL sử dụng mã hóa nào?

Mã hóa doanh nghiệp MySQL cung cấp chức năng tiêu chuẩn ngành cho mã hóa bất đối xứng. MySQL Enterprise Encryption cho phép doanh nghiệp của bạn. Bảo mật dữ liệu bằng cách sử dụng kết hợp các khóa công khai, riêng tư và đối xứng để mã hóa và giải mã dữ liệu.

Chủ Đề