从2.0.0版本开始,Connector/Python具有从选项文件读取选项的能力。(有关MySQL选项文件的一般信息,请参见使用选项文件)。关于connect ()
Connector/Python程序中选项文件的调用控制使用:
option_files
:要读取哪些选项文件。该值可以是文件路径名(字符串)或路径名字符串的序列。默认情况下,Connector/Python不读取任何选项文件,因此必须显式给出此参数以读取选项文件。按照指定的顺序读取文件。option_groups
:如果读取选项文件,则从选项文件中读取哪些组。该值可以是选项组名(字符串)或组名字符串的序列。如果没有给出该参数,则默认值为(“客户端”,“connector_python”)
,阅读(客户端)
而且(connector_python)
组。
连接器/Python还支持包括!
而且includedir !
选项文件中的包含指令。这些指令的工作方式与其他MySQL程序相同(参见使用选项文件).
下面的例子将单个选项文件指定为字符串:
CNX = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf')
这个例子将多个选项文件指定为字符串序列:
Mysql_option_files = ['/etc/mysql/connectors.cnf', './development.cnf',] CNX =mysql .connector.connect(option_files= Mysql_option_files)
默认情况下,Connector/Python不读取选项文件,以向后兼容2.0.0以上版本。这不同于标准的MySQL客户端,例如mysql或, mysqldump在默认情况下,它们读取选项文件。要找出标准客户机在您的系统上读取哪些选项文件,请使用——帮助
选项并检查输出。例如:
mysql -help…默认选项按给定顺序从以下文件中读取:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf…
如果指定option_files
参数来读取选项文件,Connector/Python将读取(客户端)
而且(connector_python)
默认为选项组。要显式指定要读取哪些组,请使用option_groups
连接参数。下面的示例只导致(connector_python)
待读组别:
CNX = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf', option_groups='connector_python')
方法中指定的其他连接参数connect ()
调用优先于从选项文件中读取的选项。假设/etc/mysql/connectors.conf
包含以下几行:
[客户]= cpyapp数据库
以下connect ()
呼叫包含no数据库
连接参数。产生的连接使用cpyapp
,选项文件中指定的数据库:
CNX = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf')
相比之下,下面是connect ()
Call指定一个与选项文件中找到的数据库不同的默认数据库。产生的连接使用cpyapp_dev
作为默认数据库,不是cpyapp
:
Cnx2 = mysql.connector.connect(option_files='/etc/mysql/connectors.cnf', database='cpyapp_dev')
Connector/Python引发一个ValueError
无法读取或已经读取了选项文件。这包括由包含指令读取的文件。
为(connector_python)
组,只接受Connector/Python支持的选项。无法识别的选项会导致ValueError
被抚养。
对于其他选项组,Connector/Python会忽略无法识别的选项。
命名选项组不存在不是错误。
Connector/Python将选项文件中的选项值视为字符串,并使用eval ()
.这使得可以指定比简单标量更复杂的选项值。