科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道4.15.4 选项文件

4.15.4 选项文件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

MySQL3.22 可以从选项文件中为服务器和客户读取缺省启动选项。

作者:天极软件 来源:天极软件 2008年1月21日

关键字: 文件 选项 MySQL

  • 评论
  • 分享微博
  • 分享邮件

MySQL3.22 可以从选项文件中为服务器和客户读取缺省启动选项。

在Unix上,MySQL从下列文件读取缺省选择:

文件名 用途
/etc/my.cnf 全局选项
DATADIR/my.cnf 服务器特定的选项目
~/.my.cnf 用户特定的选项

DATADIRMySQL的数据目录(典型地对二进制安装是“/usr/local/mysql/data”或对源代码安装是“/usr/local/var”)。注意:这是在配置时间指定的目录,不是mysqld启动时用--datadir指定的目录!(--datadir在服务器寻找选项文件的地方无效,因为它以前寻找他们,它处理任何命令行参数。)

MySQL在Win32上从下列文件读取缺省选项:

文件名 用途
windows-system-directory\my.ini
C:\my.cnf 全局选项
C:\mysql\data\my.cnf 服务器特定的选项

注意,在Win32上你应该用/而不是\指定所有的路径,如果你使用\,你需要指定两个,因为在MySQL里面\是转义字符。

MySQL试图以上述所列的顺序读取选项文件。如果存在多个选项文件,在一个后面文件读取的选项优先于在先前读取的一个文件中指定的同一个选项,在命令行上指定的选项优先于在任何选项文件指定了的选项。有些选择能使用环境变量指定,在命令行或在选项文件指定的选项优先于环境变量。

下列程序支持选项文件:mysqlmysqladminmysqldmysqldumpmysqlimportmysql.servermyisamchkmyisampack

你能使用选项文件指定一个程序支持的任意长的选项!用--help选项运行程序可得到的可用选项的表。

一个选项文件可以包含下列形式的行:

#comment
注释行以“#”“;”开始,空行被忽略。
[group]
group是你想为其设置选项的程序或组的名字。在一个组行后,任何optionset-variable行应用于命名的组,直到选择文件结束或其他组的给出。
option
这等价于在命令行上的--option
option=value
这等价于在命令行上的--option=value
set-variable = variable=value
这等价于在命令行上的--set-variable variable=value。该语法必须被用来设置一个mysqld变量。

client组允许你指定适用于所有MySQL客户的选项(不是mysqld)。这是理想的组来指定你用来与服务器连接的口令。(但是保证只是选项文件本身是可读的和可写的。)

注意,对域选项和值,所有头部和尾部空白自动被删除。你可以在的值串中使用转义顺序“\b”“\t”“\n”“\r”“\\”“\s”(“\s”==空白)。

这是一个典型的全局选项文件:

[client] 
port=3306 
socket=/tmp/mysql.sock 
[mysqld] 
port=3306 
socket=/tmp/mysql.sock 
set-variable = key_buffer=16M 
set-variable = max_allowed_packet=1M 
[mysqldump] 
quick 

这是典型的用户选项文件:

[client]
# The following password will be sent to all standard MySQL clients
password=my_password

[mysql]
no-auto-rehash

如果你有一个源代码分发,你将在“support-files”目录下找到一个名为“my-example.cnf”样品配置文件。如果你有二进制分发,在“DIR/share/mysql”目录下查找,在此DIRMySQL安装目录的路径(一般是“/usr/local/mysql”)。你可以拷贝“my-example.cnf”到你的主目录(重新命名拷贝为“.my.cnf”)来试验。

为了告诉一个MySQL程序不读任何选项文件,在命令行上指定--no-defaults作为第一个选项。这必须是第一个选项,否则它将无效!如果你想检查使用哪个选项,你可以给出--print-defaults选项作为第一个选项。

如果你想要强制使用一个特定配置文件,你可以使用选项--defaults-file=full-path-to-default-file。如果你这样做,只有指定的文件将被读取。

开发者注意:选项文件的处理简单地通过处理所有在任何命令行前参数的匹配选项来实现(即,在适当的组里的选项),这对使用多次指定的一个选项的最后实例的程序工作的很好。如果你有这样一个处理多重指定选项但不读选项文件的旧程序, 你只需要增加2行给与它那种能力。检查任何标准的MySQL客户的源代码看怎样做。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章