如何配置MySQL Connector/Python X DevAPI连接选项及--local-infile参数
MySQL Connector/Python X DevAPI 连接选项设置指南
我来一步步帮你解决这两个关于MySQL X DevAPI连接配置的问题:
1. 如何为MySQL Connector/Python X DevAPI连接设置选项?
MySQL Connector/Python的X DevAPI提供了两种直观的方式来配置连接选项:
- 配置字典方式:直接在
mysqlx.get_session()中传入键值对组成的字典,每个键对应一个连接参数。 - 连接URL方式:把所有参数编码到符合MySQL X协议的URL里,格式为
mysqlx://[user[:password]@]host[:port][?option1=value1&option2=value2...]
常见可用选项示例
不管用哪种方式,你都可以设置这些常用参数:
host:数据库服务器地址port:X DevAPI默认端口是33060user/password:认证凭据ssl-mode:SSL连接模式(比如REQUIRED强制SSL、DISABLED禁用SSL等)connect-timeout:连接超时时间(单位秒)local_infile:控制是否允许加载本地文件(对应你第二个问题的选项)
字典配置示例
import mysqlx session = mysqlx.get_session({ 'host': 'localhost', 'port': 33060, 'user': 'root', 'password': 'your_password', 'ssl-mode': 'REQUIRED', 'connect-timeout': 10 })
URL配置示例
import mysqlx session = mysqlx.get_session("mysqlx://root:your_password@localhost:33060?ssl-mode=REQUIRED&connect-timeout=10")
2. 如何为mysqlx连接设置--local-infile[={0|1}]选项?
--local-infile是MySQL客户端用来控制LOAD DATA LOCAL INFILE语句是否能加载本地文件的开关,在X DevAPI中,你只需要在连接配置字典里添加local_infile参数并设为1(或True)就能启用它。
修改你的代码如下:
import mysqlx # 连接到本地服务器并启用local_infile session = mysqlx.get_session({ 'host': 'localhost', 'port': 33060, 'user': 'root', 'password': '12345678', 'local_infile': 1 # 设置为1启用,0禁用 })
额外注意事项
仅仅客户端开启还不够,你得确保MySQL服务器端的local_infile参数也已经启用:
- 登录MySQL服务器执行
SHOW VARIABLES LIKE 'local_infile';查看当前值 - 如果值为
OFF,需要在MySQL配置文件(my.cnf/my.ini)中添加local_infile=1,然后重启MySQL服务
这样客户端和服务器端都开启后,你就能正常使用LOAD DATA LOCAL INFILE相关功能了。
内容的提问来源于stack exchange,提问作者lucasahli
相关产品推荐
相关产品推荐

