mysql主从复制配置规则_Mysql主从复制的配置

Mysql主从复制的配置

一、         my.ini配置文件的修改:

1、  在主服务器上修改:

[mysqld]

#datadir=F:/Application/Mysql5.6/data

port=5616

event_scheduler=ON

max_allowed_packet = 16M

skip-name-resolve

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

default_storage_engine=innodb

innodb_file_per_table=1

innodb_file_format = Barracuda

innodb_open_files=1000

innodb_buffer_pool_size=2188M

innodb_log_file_size=50M

max_connections=500

max_connect_errors=5000

max_prepared_stmt_count=50000

innodb_print_all_deadlocks = 1

innodb_lock_wait_timeout = 60

#table_cache=2048

transaction_isolation=REPEATABLE-READ

loose-skip-external-locking

innodb_flush_log_at_trx_commit=2

#binlog_format="STATEMENT"

#binlog_format="ROW"

binlog_format="MIXED"

sort_buffer_size=2M

tmp_table_size=64M

max_heap_table_size=64M

slow_query_log=off

slow_query_log_file = slow-queries.log

#log-queries-not-using-indexes

log-bin=matster-bin

log-bin-index=matster-bin.index

server-id=1

expire-logs-days=3

max_binlog_size = 512M

log_bin_trust_function_creators=1

query_cache_type=1

query_cache_size=128M

query_cache_limit=128M

innodb_read_io_threads=8

innodb_write_io_threads=8

[client]

port=5616

#default-character-set=gbk

[mysqldump]

quick

max_allowed_packet = 16M

2、  在从服务器上修改:

[mysqld]

#basedir=D:/Application/mysql-5.6.16-slave

#datadir=D:/Application/mysql-5.6.16-slave/data

port=5600

event_scheduler=ON

max_allowed_packet = 16M

skip-name-resolve

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

default_storage_engine=innodb

innodb_file_per_table=1

innodb_file_format = Barracuda

innodb_open_files=1000

innodb_buffer_pool_size=1023M

innodb_log_file_size=50M

max_connections=500

max_connect_errors=5000

max_prepared_stmt_count=50000

innodb_print_all_deadlocks = 1

innodb_lock_wait_timeout = 60

#table_cache=2048

transaction_isolation=REPEATABLE-READ

loose-skip-external-locking

innodb_flush_log_at_trx_commit=2

#binlog_format="STATEMENT"

#binlog_format="ROW"

#binlog_format="MIXED"

sort_buffer_size=2M

tmp_table_size=64M

max_heap_table_size=64M

slow_query_log=off

slow_query_log_file = slow-queries.log

#log-queries-not-using-indexes

#log-bin=matster-bin

#log-bin-index=matster-bin.index

server-id=160

#expire-logs-days=3

relay-log=slave-relay-bin

relay-log-index=slave-relay-bin.index

#max_binlog_size = 512M

#log_bin_trust_function_creators=1

query_cache_type=1

query_cache_size=128M

query_cache_limit=128M

innodb_read_io_threads=8

innodb_write_io_threads=8

[client]

port=5600

#default-character-set=gbk

[mysqldump]

quick

max_allowed_packet = 16M

二、在主服务器上创建复制用户

DROP USER repl_user;

CREATE USER repl_user ;

GRANT replication slave on *.* to repl_user IDENTIFIED by 'fz';

flush privileges;

show master status;

三、在从服务器上连接到主服务器

change master to master_host='10.53.2.18',master_port=5616,master_user='repl_user',master_password='fz';

START SLAVE; (可以单独启动和停止IO_THREAD或者SQL_THREAD,如start slave IO_THREAD,stop slave IO_THREAD或者start slave SQL_THREAD,stop slave SQL_THREAD)

SHOW SLAVE STATUS;

四、如果执行SHOW SLAVE STATUS后显示:

Slave_io_Running:Yes

Salve_SQL_Running:Yes

则说明复制机制已经正常启动运行。

五、常用于管理复制的命令:

1、flush logs:强制轮换(rotate)二进制日志文件,得到一个完整的二进制日志文件;

2、show binlog events:查看二进制日志文件里发生了哪些事件;

3、reset master:删除所有二进制日志文件并清空二进制日志索引文件,在执行此命令时,确保没有slave连接到master上;

4、reset slave:删除复制所用的所有文件,在执行此命令时,先执行stop slave.

六、mysqlbinlog的使用

读取远程服务器的二进制日志文件:

mysqlbinlog -h192.168.2.8 -uBACKUP_user -p master-bin.000090 --short-form --read-from-remote-server

七、

如何使slave服务器将来自master的复制更新写入slave服务器的二进制日志:

在my.ini中加入

log_slave_updates=on

八、过滤复制事件:

有两种过滤事件的方法:

1、master过滤;

有两个选项:

binlog-do-db=db 或者 binlog-ignore-do-db=db,前者表示过滤除db之外的所有的数据库;后者表示过滤db。二者不要同时使用。

2、slave过滤

有更多的选项:

replicate-do-db=db 或者 replicate-ignore-do-db=db,含义与以上类似;

replicatte-do-table=table或者replicate-wild-do-table=table name pattern(如 tbl% 表示开头为tbl的所有表);

replicate-ignore-table=table或者replicate-wild-ignore-table=table name pattern;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值