python mysql 通讯加密_Python通过SSL加密连接MySQL,python,ssl,mysql
时间: 2024-02-01 18:14:26 浏览: 128
在Python中,我们可以使用SSL来为MySQL连接提供加密通信。以下是Python通过SSL加密连接MySQL的示例代码:
```python
import mysql.connector
import ssl
# 设置SSL上下文
ssl_context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)
ssl_context.load_verify_locations('path/to/ca-cert.pem')
# 连接MySQL
cnx = mysql.connector.connect(user='user', password='password', host='hostname', database='database', ssl_ca='path/to/ca-cert.pem', ssl_context=ssl_context)
# 执行查询
cursor = cnx.cursor()
query = ("SELECT * FROM table")
cursor.execute(query)
# 输出结果
for row in cursor:
print(row)
# 关闭连接
cursor.close()
cnx.close()
```
在上面的代码中,我们首先创建了一个SSL上下文,并将其加载到MySQL连接中。然后我们连接MySQL,并执行一个查询,最后关闭连接。
需要注意的是,在上面的代码中,我们使用了一个CA证书来验证服务器的身份。如果你没有CA证书,也可以使用服务器的公钥来验证其身份。但这种方法不如使用CA证书安全,因为服务器的公钥可能会被中间人攻击者替换掉。
阅读全文