Rumah >pangkalan data >tutorial mysql >Penjelasan terperinci tentang langkah-langkah untuk sambungan SSL MySQL

Penjelasan terperinci tentang langkah-langkah untuk sambungan SSL MySQL

王林
王林asal
2023-09-08 11:46:501199semak imbas

MySQL SSL 连接的步骤详解

Penjelasan terperinci tentang langkah-langkah untuk sambungan SSL MySQL

MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang menyokong sambungan selamat ke pangkalan data melalui SSL (Lapisan Soket Selamat). Untuk sesetengah senario aplikasi yang perlu melindungi penghantaran data, menggunakan sambungan SSL ialah langkah keselamatan yang sangat penting. Artikel ini akan memperincikan langkah untuk sambungan SSL MySQL dan memberikan contoh kod yang sepadan.

1. Jana sijil SSL dan kunci peribadi

Sebelum menggunakan sambungan SSL, anda perlu menjana sijil dan kunci peribadi. Anda boleh menjana sijil SSL dan kunci peribadi melalui langkah berikut:

  1. Buka terminal baris arahan dan masukkan folder bin direktori pemasangan MySQL.
  2. Jalankan arahan berikut untuk menjana sijil CA (Certificate Authority) dan kunci persendirian:

    openssl genrsa 2048 > ca-key.pem
    openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem
  3. Jalankan arahan berikut untuk menjana sijil pelayan dan kunci persendirian:

    openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
    openssl rsa -in server-key.pem -out server-key.pem
    openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
  4. Salin sijil yang dijana dan fail kunci peribadi ke direktori pemasangan MySQL Salin lokasi yang sesuai, seperti sijil pelayan dan fail kunci peribadi ke direktori data.

2. Konfigurasikan pelayan MySQL

Sebelum membuat sambungan SSL pada pelayan MySQL, anda perlu melakukan konfigurasi yang sepadan. Anda boleh membuka fail konfigurasi MySQL (my.cnf) dan menambah konfigurasi berikut:

[mysqld]
ssl-ca=ca-cert.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem

Sila gantikan nama fail dalam konfigurasi di atas dengan sijil sebenar dan nama fail kunci peribadi, dan pastikan fail ini disimpan dengan betul dalam lokasi yang ditentukan. Selepas konfigurasi selesai, mulakan semula pelayan MySQL.

3. Sambung ke pangkalan data MySQL

Apabila pelanggan menyambung ke pangkalan data MySQL, anda perlu menentukan pilihan sambungan SSL. Pilihan berikut boleh ditambah pada rentetan sambungan:

--ssl-ca=ca-cert.pem
--ssl-cert=client-cert.pem
--ssl-key=client-key.pem
--ssl-cipher=DHE-RSA-AES256-SHA

Antaranya, --ssl-ca, --ssl-cert dan --ssl- key Tentukan sijil CA, sijil klien dan kunci peribadi klien yang digunakan oleh klien masing-masing. <code>--ssl-cipher boleh digunakan untuk menentukan algoritma penyulitan SSL, contoh di sini menggunakan DHE-RSA-AES256-SHA. --ssl-ca--ssl-cert--ssl-key 分别指定客户端使用的 CA 证书、客户端证书和客户端私钥。--ssl-cipher 可用于指定 SSL 加密算法,此处示例使用了 DHE-RSA-AES256-SHA。

以下是一个使用 PHP 连接 MySQL 数据库的示例代码:

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database";

$ca_cert = "/path/to/ca-cert.pem";
$client_cert = "/path/to/client-cert.pem";
$client_key = "/path/to/client-key.pem";

$mysqli = new mysqli($servername, $username, $password, $dbname, null, null, MYSQLI_CLIENT_SSL);
$mysqli->ssl_set($client_key, $client_cert, $ca_cert, null, null);

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

echo "Connected successfully";

$mysqli->close();
?>

请将 $servername$username$password$dbname 替换为真实的连接信息,将 $ca_cert$client_cert$client_key

Berikut ialah contoh kod untuk menyambung ke pangkalan data MySQL menggunakan PHP:

rrreee

Sila gantikan $servername, $username, $password dan $dbname dengan maklumat sambungan sebenar dan gantikan $ca_cert, $client_cert dan $client_key dengan sijil sebenar dan laluan fail kunci persendirian. Selepas sambungan berjaya, "Berjaya disambungkan" akan dikeluarkan. 🎜🎜Di atas ialah langkah terperinci dan contoh kod yang sepadan bagi sambungan SSL MySQL. Melalui sambungan SSL, keselamatan semasa proses penghantaran pangkalan data MySQL dapat dilindungi dan kerahsiaan dan integriti data dapat dipertingkatkan. 🎜

Atas ialah kandungan terperinci Penjelasan terperinci tentang langkah-langkah untuk sambungan SSL MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn