MYSQL配置文件详解
摘要:通过本文,简单的介绍MYSQL的配置文件,其中包括全局配置文件、用户配置文件和服务器配置文件等等。并针对每一种配置文件涉及的参数和其功能进行详细的介绍,以帮助用户快速的有效的配置MYSQL。
一、概述
MYSQL是开放源码的关系数据库管理系统,它诞生于1995年,由MySQL AB公司研发,现在属于Oracle公司。它使用标准的SQL语言来管理关系数据库,支持数据库表的创建,修改,查询,删除及相应数据的编辑等操作。MYSQL的安装及个性化配置都需要它的配置文件来完成,而绝大多数的配置参数都是在MYSQL的配置文件中可以完成设置的。下面就MYSQL的配置文件详解。
二、MYSQL配置文件
1.全局配置文件
全局配置文件是MYSQL系统的主要配置文件,也是最容易被误认为是唯一的配置文件。它免费提供了MYSQL服务器的默认设置,全局配置文件位于mysql/bin/my.cnf或/etc/my.cnf这两个文件。另外,全局配置文件包含了大多数的数据库操作参数,如连接超时、连接数、慢查询日志等,以及字符集编码和其它整体性的参数,例如安全和密码管理等,还可以定义数据表引擎、插件、日志类型等等。
2.服务器配置文件
服务器配置文件是控制数据库的另一配置文件,它的作用是为数据库服务器提供有关的配置项,如指定存储引擎、缓存大小和缓存策略、SQL语法检查以及是否支持某些特定的函数等。服务器配置文件一般是位于mysql/server/my.cnf或/etc/my.cnf.d/文件夹下,有些Linux系统服务器文件和全局配置文件可能在同一个文件中。
3.用户配置文件
用户配置文件也称为登录文件,用户可以在登录时使用它来指定登录MYSQL服务器时的相关配置项,如数据库的默认字符集、指定远程客户端的IP地址以及是否激活ssl等等。用户配置文件一般是位于
~/.my.cnf文件夹下,而且该文件的内容可以被传送给MYSQL客户端。
三、参数解析
1.全局配置文件参数解析
全局配置文件主要控制着MYSQL服务器的监听端口号和服务器管理顶层设置,其中mysqld配置中也有一些参数对MYSQL数据库用户配置有影响。
(1)basedir
basedir参数用来指定MYSQL服务器安装的根目录,该参数不可省略,它主要定义MYSQL的安装路径的文件夹名。
(2)port
port参数用于设置MYSQL服务端口,通常默认是3306,安装MYSQL以后可以任意指定如3307,3308等,以此来降低服务器的被攻击的可能性。
(3) bind-address
bind-address 参数指定只接受来自这个IP地址的连接,以保证远程服务器或者客户端只能通过指定的IP地址连接。bind-address 和 localhost 两个参数应该设置为相同的值。
(4)init_connect
init_connect参数用于配置新创建的数据库连接可以使用的命令,常用于设置参数如字符集,非对称加密等相关参数。
2.服务器配置文件参数解析
(1)max_connections
max_connections参数可以控制连接MYSQL服务器的总连接数,也就是一次最大允许有多少客户端通过socket来连接服务器,当设置的值小于实际的连接数时,超过的连接会以拒绝连接的方式处理。
(2) max_allowed_packet
max_allowed_packet参数可以控制每次MYSQL服务器能接受的最大报文长度,也就是一次客户端向服务器发送SQL语句最长能有多少字节,这里首先是涉及到业务场景需要,但是它也可以极大的影响MYSQL的性能,如果把这个参数设置的太高,服务器将收到大量的数据,消耗大量的操作系统资源,可能会增加服务器的处理延迟,所以一定要合理的设置这个值。
(3) innodb_buffer_pool_size
innodb_buffer_pool_size参数用来控制innodb存储引擎的缓存大小,它控制着innodb引擎加载数据到内存中用于查询之类操作,如果设置得太小,则可能将会影响整体的查询性能,而如果设置得太大,可能会占用大量系统内存,影响其他应用。
(4) slow_query_log
slow_query_log参数用来启用慢查询日志