[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
#表示数据库的端口
port=3306
#否开启慢查询日志
slow_query_log=ON
#指定慢查询日志保存路径及文件名
slow_query_log_file=/usr/local/mysql/slowQuery/slow_sql.log
#指定多少秒返回查询的结果为慢查询
long_query_time=5
#lower_case_table_names是个只读变量,不能直接设置生效,必须在配置文件中设置并重启mysqld服务。
#当设置为0时,存储和比较都是大小写敏感的;当设置为1是存储时会转换为小写,比较时不区分大小写;当设置为2时候,存储时区分大小写,比较的时与转换为小写。此选项对数据库名和数据表名起作用。
lower_case_table_names=1
#设置mysql的安装目录
basedir=/usr/local/mysql
#设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
#MySQL的最大连接数
max_connections=250
#定义了你MySQL应该支持的sql语法,对数据的校验等等
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#mysql根据配置文件会限制server接受的数据包大小
max_allowed_packet=64M
#它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下
max_heap_table_size=128M
tmp_table_size=128M
#用于缓存 索引 和 数据的内存大小
innodb_buffer_pool_size=256M
#用来指定innodb tablespace文件,如果我们不在My.cnf文件中指定innodb_data_home_dir和innodb_data_file_path那么默认会在datadir目录下创建ibdata1 作为innodb tablespace
innodb_data_file_path=ibdata1:300M;ibdata2:600M:autoextend
#federated存储引擎能让你访问远程的MySQL数据库
federated
#开启事件任务
event_scheduler=ON
#MySQL提供的group_concat函数可以拼接某个字段值成字符串,默认长度。
group_concat_max_len=10240
#MySQL Server便可以随意创建function函数
log_bin_trust_function_creators=1
#默认的存储引擎
default-storage-engine=INNODB
#给服务器分配一个独一无二的ID编号; n的取值范围是1~2的32次方启用二进制日志功能。
server-id=131
#把对数据进行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE命令)以二进制格式记入日志
log-bin=/usr/local/mysql/mysqlBinLog/mysql-bin
#基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。
binlog_format=mixed
#让MySQL自动删除过期的binlog文件。此处是7天
expire_logs_days=7
#跳过主从复制中的1032,1062的问题。
slave_skip_errors=1032,1062
#日志记录的是从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件
relay-log=/usr/local/mysql/mysqlBinLog/mysql-relay-bin
#log_slave_updates是将从服务器从主服务器收到的更新记入到从服务器自己的二进制日志文件中
log_slave_updates=1
#忽略主从备份的数据库
#binlog_ignore_db=mysql,information_schema
#这两个参数一般用在主主同步中,用来错开自增值, 防止键值冲突 后面两个用于在双主(多主循环)互相备份。 因为每台数据库服务器都可能在同一个表中插入数据,如果表有一个自动增长的主键,那么就会在多服务器上出现主键冲突。 解决这个问题的办法就是让每个数据库的自增主键不连续。上图说是,我假设需要将来可能需要10台服务器做备份,所以auto-increment-increment 设为10. 而 auto-increment-offset=1 表示这台服务器的序号。从1开始, 不超过auto-increment-increment。
auto_increment_increment=2
auto_increment_offset=1