mysql主从配置

mysql主从配置

 

1、主机配置

在my.cnf或my.ini的mysqld段中增加如下配置

 

log-bin=mysql-bin

server-id=XXX               ----------全局唯一

innodb_flush_log_at_trx_commit=2

sync_binlog=1000

 

binlog-do-db=db1

binlog-do-db=db2

 

2、从机配置

在my.cnf或my.ini的mysqld段中增加如下配置

server-id=2

replicate-do-db=db1

replicate-do-db=db2

 

3、在主机中创建备份的账户

grant replication slave on *.* to 'replication'@'%' identified by 'repl_mysql_user';

 

4、查看主机现在的日志文件状态

show master status \G

*************************** 1. row ***************************

             File: binlog.000070

         Position: 207549782

     Binlog_Do_DB:

 Binlog_Ignore_DB:

Executed_Gtid_Set:

1 row in set (0.00 sec)

 

 

4、在从机中设置主机的信息

CHANGE MASTER TO

    MASTER_HOST='master_host_name',

    MASTER_USER='replication_user_name',

    MASTER_PASSWORD='replication_password',

    MASTER_LOG_FILE='recorded_log_file_name',

    MASTER_LOG_POS=recorded_log_position;

 

 

一 参数说明

 

innodb_flush_log_at_trx_commit

如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。

如果innodb_flush_log_at_trx_commit设置为1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去.

如果innodb_flush_log_at_trx_commit设置为2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。

注意:

  由于进程调度策略问题,这个“每秒执行一次 flush(刷到磁盘)操作”并不是保证100%的“每秒”。

  

sync_binlog

sync_binlog 的默认值是0,像操作系统刷其他文件的机制一样,MySQL不会同步到磁盘中去而是依赖操作系统来刷新binary log。

当sync_binlog =N (N>0) ,MySQL 在每写 N次 二进制日志binary log时,会使用fdatasync()函数将它的写二进制日志binary log同步到磁盘中去。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值