首页 > 代码库 > mysql主从同步读写分离配置

mysql主从同步读写分离配置

#mysql主库配置添加:

#缓存用户表及索引数据的最主要缓存空间,一般建议50%~80%,但应该以mysql服务器实际情况来定,如果跑着其他

#的应用服务或者有MyISAM表,则需要先减去系统+应用+MyISAM引擎需要的内存,再得出innodb_buffer_pool_size的

#实际值,具体情况具体分析。

innodb_buffer_pool_size = 4096M

#打开bin-log日志,以供slave机器读取同步日志。

log-bin=/mnt/mysql/log/mysql-bin.log

#用于标识该语句最初是从哪个server写入的,可以用局域网ip最后一段来标识。

server-id=174

#二进制日志自动删除日志过期的天数,默认值为0表示不删除。

expire_logs_day=3

#当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

#等于0时,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem

#自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。

sync_binlog = 30

# STATEMENT  ROW  MIXED

binlog_format = MIXED

#打开慢查询日志

slow_query_log = ON

#指定慢查询日志文件路径与文件名称

slow_query_log_file = /mnt/mysql/lib/mysql/db01-slow.log

#sql执行时间超过多少秒会记录到慢查询日志中

long_query_time = 1

#指定数据库字符集

character-set-server=utf8

#指定客户端字符集

character-set-client=utf8

collation-server=utf8_unicode_ci

#最大连接数

max_connections=1000

#打开半同步复制插件该插件安装指令为:在登陆数据库管理员账号后执行:

#INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.dll‘;

#innodb的主从同步默认是异步的,使用半同步插件,主库执行完一个事务后会等待,只要有一个同步库

#返回成功就会提交事务,如果等待超过设置的时限,就会变为异步,提交事务。

rpl_semi_sync_master_enabled=1

#毫秒单位,多少时间后主服务器不在等待slave确认,变为异步执行。

rpl_semi_sync_master_timeout=1000

#接收的最大数据包

max_allowed_packet = 8M


#mysql从库配置添加:

#用于标识该语句最初是从哪个server写入的,可以用局域网ip最后一段来标识。

server-id=41

#该参数就是为了让从库从主库复制数据时可以写入到binlog日志

log-slave-updates = on

#二进制日志自动删除日志过期的天数,默认值为0表示不删除。

expire_logs_days = 2

#当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

#等于0时,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem

#自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。

sync_binlog = 30

# STATEMENT  ROW  MIXED

binlog_format = mixed

#指定数据库字符集

character-set-server=utf8

#指定客户端字符集

character-set-client=utf8

collation-server=utf8_unicode_ci

#最大连接数

max_connections=1000

#打开独立表空间,不打开时所有表都在一个表空间中。

innodb_file_per_table

innodb_buffer_pool_size = 4096M

innodb_additional_mem_pool_size = 20M

innodb_log_file_size = 512M

innodb_log_buffer_size = 16M

slow_query_log = ON

slow_query_log_file = /mnt/mysql/bin-log/db02-slow.log

long_query_time = 1

rpl_semi_sync_slave_enabled=1

max_allowed_packet = 8M


innodb_flush_log_at_trx_commit = 2 


本文出自 “11403817” 博客,请务必保留此出处http://11413817.blog.51cto.com/11403817/1903971

mysql主从同步读写分离配置