文章目录
- 前言
- MySQL身份验证选项
- 字符编码
- 事务
- 时区
- SQL模式
- 错误处理
- 客户端标志启用和禁用
- 类型转换
- 通过SSL连接
- 连接池
- 协议压缩
- 总结
前言
MySQL连接器(Python),用于让Python程序能够访问MySQL数据库。要想让Python应用程序正确高效地使用MySQL数据,就需要深入了解MySQL连接器的特性和使用方法。
上篇文章👉《【MySQL连接器(Python)指南】06-连接器连接参数》 介绍了连接器的连接参数,这篇接着介绍连接器的其它参数。
MySQL身份验证选项
使用MySQL的身份验证通常使用username
和password
。
给定数据库参数时,当前数据库设置为给定值。若要在以后更改当前数据库,请执行USE
SQL语句或设置MySQL连接实例的database
属性。
默认情况下,连接器会尝试使用TCP/ IP连接到运行在本地主机上的MySQL服务器。主机参数默认设置为IP地址127.0.0.1,端口默认设置为3306。通过设置 unix_socket
,可以支持Unix套接字。不支持Windows平台上的命名管道。
连接器支持MySQL 5.6中提供的身份验证插件。这包括mysql_clear_password
和sha256_password
,这两者都需要一个SSL连接。sha256_password
插件不能在非ssl连接上工作,因为连接器不支持RSA加密。
connect()
方法支持一个auth_plugin
参数,该参数可用于强制使用特定的插件。例如,如果服务器配置为默认使用sha256_password
,但是你希望使用mysql_native_password
进行身份验证,可以使用SSL连接或指定auth_plugin=‘mysql_native_password’
。
连接器支持Kerberos身份验证协议。从连接器8.0.26开始在Linux客户端支持,连接器8.0.27开始在C扩展实现中支持,连接器8.0.29开始在Windows中支持。对于Windows,在8.0.32中添加了相关的 kerberos_auth_mode
连接选项,可以将模式配置为SSPI(默认)或GSSAPI(纯Python实现,或8.4.0中的C扩展实现)。Windows同时支持这两种模式,而Linux只支持GSSAPI。
下面的示例展示 LDAP Pluggable Authentication
被设置为使用GSSAPI/Kerberos SASL身份验证:
import mysql.connector as cpy
import logging
logging.basicConfig(level=logging.DEBUG)
SERVICE_NAME = "ldap"
LDAP_SERVER_IP = "server_ip or hostname" # e.g., winexample01
config = {
"host": "127.0.0.1",
"port"