当前位置:Gxlcms > mysql > MySQL数据库技术(33)[组图]_MySQL

MySQL数据库技术(33)[组图]_MySQL

时间:2021-07-01 10:21:17 帮助过:19人阅读

  6.5 客户机程序4―在运行时获取连接参数

现在我们有了容易修改的防止出现错误的连接代码,我们要了解一些如何做某些比使用NULL 连接参数更灵巧的事情,如在运行时允许用户指定一些值。客户机程序3由于固定连接参数方面的缺陷,要想更改那些值中的任何一个,都必须编辑源文件并重新编译。这十分不方便,特别是想使程序用于其他人时。在运行时指定连接参数的一个通用的方法是使用命令行选项。MySQL 分发包中的程序接受两种形式的连接参数,如表6 - 1所示。

与标准的MySQL 客户机程序一致,客户机程序将接受同样的格式。这很容易,那是因为客户机库包括了实现选项分析的函数。

除此之外,客户机程序具有从选项文件中抽取信息的能力。这允许将连接参数放在-/. m y. c n f(也就是主目录中的. m y.cnf 文件)中,以便不用在命令行中指定它们。客户机库使检查MySQL 选项文件和从它们中抽取任何相关的值变得非常容易。只在程序中增加几行代码,就可以使选项文件识别它,并且通过编写自己的代码而不必重新改造这个框架来进行操作。附录E “MySQL 程序参考”中说明了选项文件的语法。

6.5.1 访问选项文件内容

使用load_default() 函数为连接参数值读取选项文件, load_default() 寻找选项文件、分析任何感兴趣的可选组的内容,以及重新编写程序的参数向量( a rgv[] 数组),以便把来自于那些组的信息以命令行选项的形式放置在argv[] 的开头。这就是说,在命令行指定出现的选项。因此,当分析命令选项时,就得到了作为常规选项分析循环部分的连接参数。选项加到argv[] 的开头而不是加到末尾,所以,如果连接参数真的在命令行指定,它们要比load_defaults() 增加的任何选项晚一些出现(因而忽略)。面的小程序show _ argv 显示了如何使用load _ defaults ( ),并举例说明了对参数向量如何做出这样的修改:

人气教程排行