MySQL配置选项
1.预编译的选项: (1).在生成RPM包时指定的选项; (2).在源码安装时指定的选项;
2.命令行选项: (1).可以在启动服务器(mysqld)时在命令行上指定启动选项; (2).默认情况下,服务器在运行时使用其配置变量的预编译值;但是,如果默认值不适合环境,则可添加运行时选项,让服务器使用其他值来执行以下操作: ①.指定重要的目录和文件的位置; ②.控**务器写入的日志文件; ③.覆盖服务器与性能相关的变量的内置值(即,控制最大同时连接数以及缓冲区和高速缓存的大小); ④.在服务器启动时启用或禁用预编译的存储引擎通过使用命令行选项或选项文件,或者使用两者的组合,可以指定服务器启动时的运行时选项(以更改其配置和行为); (3).命令行选项优先于选项文件中的任何设置
3.配置文件选项:在配置文件my.cnf中指定的启动选项;最常用的方式;
4.查看相关帮助mysqld verbose help;
使用选项文件的原因
1.将选项放在文件中后,不需要每次启动服务器时都在命令行上指定选项;对于复杂的选项(如用于配置InnoDB表空间的选项),这样做更加方便,并且更不容易出错; 2.如果所有服务器选项都在一个选项文件中,则可概览服务器的配置情况; 3.MySQL程序可以访问多个选项文件中的选项,要创建或修改某个选项文件,必须拥有该文件的写入权限;客户机程序仅需要读取访问权限;
选项文件组
1.选项文件中的选项按组进行组织,每个组前面有一个为组命名的[group-name]行,通常,组名称是选项组适用的程序的类别或名称; 选项组示例包括: 2.[client]:用于指定适用于所有客户机程序的选项;[client]组的一个常见用途是指定连接参数,因为在一般情况下,不管使用什么客户机程序,都要建立到同一个服务器的连接; 3.[mysql]和[mysqldump]:分别用于指定适用于mysql和mysqldump客户机的选项;此外,也可以单独指定其他客户机选项; 4.[server]:用于指定同时适用于mysqld和mysqld_safe服务器程序的选项; 5.[mysqld],[mysqld-5.6],[mysqld56]和[mysqld_safe]:用于指定适用于不同服务器版本或启动方法的选项;
编写选项文件
1.要创建或修改某个选项文件,最终用户必须拥有该文件的写入权限;服务器本身仅需要读取访问权限;服务器读取选项文件,但不创建或修改选项文件; 2.如何在选项文件中写入一个选项: (1).使用长选项格式(像命令行上使用的那样),但省略前导短划线; (2).如果某个选项取值,则允许在等号两则加空格( = );此规则不适用于在命令行上指定的选项,eg:指定默认选项文件; 3.在幻灯片上的示例中,请注意以下方面: (1).[client]:此组中的选项适用于所有标准客户机; ①.host:指定服务器主机名; ②.compress:指示客户机/服务器协议对通过网络发送的通信使用压缩; (2).[mysql]:此组中的选项仅适用于mysql客户机; show-warnings:指示MySQL在每条语句后显示任何当前警告; (3).mysql客户机同时使用[client]和[mysql]组中的选项,因此将使用显示的全部三个选项;
选项文件位置
1.Linux: (1)./etc/my.cnf; (2)./etc/mysql/my.cnf; (3)./usr/local/mysql/etc/my.cnf; (4).~/.my.cnf; (5).如果设置了MYSQL_HOME环境变量,则将搜索$MYSQL_HOME/my.cnf文件; 2.Windows: (1).C:\目录下的my.ini和my.cnf; (2).C:\Windows(或C:\WinNT)目录; (3).C:\Program Files\MySQL\MySQL Server目录; 3.MySQL命令行程序会在MySQL安装目录中搜索选项文件;
选项文件中的启动选项
要在选项文件中指定服务器选项,需要在[mysqld]或[server]组下指示特定选项; 1.日志记录:可以通过启用所需日志的类型为服务器启用日志记录;比如: (1).general_log # 常规查询日志; (2).log-bin # 二进制日志; (3).slow_query_log # 慢速查询日志; 2.默认存储引擎:可以使用default-storage-engine选项指定不同于InnoDB的默认存储引擎; 3.系统变量:可以通过设置服务器系统变量值来定**务器; (1).max_connections=200 # 增加允许的最大连接数; (2).innodb_buffer_pool_instances=4 # 增加InnoDB缓冲池数的默认值; 4.共享内存:在Windows上默认不启用;可以使用shared-memory选项来启用命名管道支持; 5.命名管道:要启用命名管道支持,使用enable-named-pipe选项;
样例选项文件
1.Linux: (1).对于RPM安装,样例选项文件在/usr/share/mysql中; (2).对于TAR文件安装,样例文件在MySQL安装目录下的share目录中; 2.Windows:选项文件位于MySQL安装目录(my.ini)中; 3.如果多次指定一个选项(不管是在同一个选项文件中,还是在多个选项文件中),则最后出现的选项值优先; (1).defaults-file=:使用指定位置的选项文件; (2).defaults-extra-file=:使用指定位置的其他选项文件; (3).no-defaults:忽略所有选项文件; eg:要使用/etc/my-opts.cnf文件而忽略标准选项文件,可以:shell |