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:
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
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
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< /code> 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
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!