mysql5.6 主从

安装

http://lansgg.blog.51cto.com/all/5675165

参考

http://www.iyunv.com/thread-19624-1-1.html

主my.cnf

[client]

port = 3306

socket = /data/3306/data/mysql.sock

[mysqld]

user=msql

port=3306

bind-address=192.168.5.20

socket = /data/3306/data/mysql.sock.3306

pid-file = /data/3306/data/mysql.pid

basedir = /opt/mysql/mysql-5.6.29

datadir = /data/3306/data

server-id=1

log-bin=mysql-bin

log-bin-index= mysql-bin.index

binlog_format=row

log-slave-updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

report-port=3306

report-host=192.168.5.20

# LOGGING

log_error=/data/3306/logs/mysql-error.log

slow_query_log_file= /data/3306/logs/mysql-slow.log

slow_query_log=1

character-sets-dir = /opt/mysql/mysql-5.6.29/share/charsets

back_log = 2000

max_connections = 1000

connect-timeout = 60

wait-timeout = 28800

net_buffer_length = 16384

max_allowed_packet = 64M

thread_stack = 192K

thread_cache_size = 20

thread_concurrency = 128

query_cache_size = 256M

query_cache_limit = 2M

query_cache_min_res_unit = 2

default-time-zone = system

character-set-server = utf8

default-storage-engine = InnoDB

tmp_table_size = 512M

max_heap_table_size = 512M

max_binlog_size = 1G

max_relay_log_size = 1G

[mysql]

disable-auto-rehash

default-character-set = utf8

从my.cnf

[client]

port = 3306

socket = /data/3306/data/mysql.sock

[mysqld]

user=msql

port=3306

bind-address=192.168.5.21

socket = /data/3306/data/mysql.sock.3306

pid-file = /data/3306/data/mysql.pid

basedir = /opt/mysql/mysql-5.6.29

datadir = /data/3306/data

server-id=2

log-bin=mysql-bin

log-bin-index= mysql-bin.index

binlog_format=row

log-slave-updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

report-port=3306

report-host=192.168.5.21

# LOGGING

log_error=/data/3306/logs/mysql-error.log

slow_query_log_file= /data/3306/logs/mysql-slow.log

slow_query_log=1

character-sets-dir = /opt/mysql/mysql-5.6.29/share/charsets

back_log = 2000

max_connections = 1000

connect-timeout = 60

wait-timeout = 28800

net_buffer_length = 16384

max_allowed_packet = 64M

thread_stack = 192K

thread_cache_size = 20

thread_concurrency = 128

query_cache_size = 256M

query_cache_limit = 2M

query_cache_min_res_unit = 2

default-time-zone = system

character-set-server = utf8

default-storage-engine = InnoDB

tmp_table_size = 512M

max_heap_table_size = 512M

max_binlog_size = 1G

max_relay_log_size = 1G

[mysql]

disable-auto-rehash

default-character-set = utf8

注意事项

当设置隔离级别为读提交READ-COMMITED必须设置二进制日志格式为ROW

auto.cnf

sync_binlog = 1

innodb-safe-binlog

步骤

1.grant replication slave,replication client on *.* to [email protected]‘192.168.1.%‘identified by ‘replpass‘;

2.change master to master_host=‘192.168.1.20‘, master_user=‘repluser‘,master_password=‘replpass‘, master_auto_position=1;

start slave;

show slave status\G;

show processlist;

测试主从测试

GTID的局限性: (鉴于这些局限性,慎用)

1.GTID同步复制是基于事务。所以Myisam表不支持,这可能导致多个GTID分配给同一个事务。

2.CREATE TABLE ... SELECT语句不支持。因为该语句会被拆分成create table和insert两个事务,并且这个两个事务被分配了同一个GTID,这会导致insert被备库忽略掉。

3.不支持CREATE TEMPORARY TABLE、DROP TEMPORARY TABLE 临时表操作。

启用之后进行同步语句:

CHANGE MASTER TO MASTER_HOST="60.2.212.190", MASTER_PORT=3306, MASTER_USER="repl",MASTER_PASSWORD="H7RYbCkGHmm_P1XO", master_auto_position=1;

不启动的话同步语句和之前一样:

change master to

master_host="60.2.212.190",

master_user="repl",

master_password="H7RYbCkGHmm_P1XO",

master_port=3306,

master_log_file="binlog.000001",

master_log_pos=1287;

start slave;

binlog-row-image=minimal,这个选项允许应用程序只能对行的镜像数据进行复制,而不在关心行是否已经进行了DML操作。这提高了主从机器的复制吞吐量,减少了二进制日志所占用的磁盘空间、

网络资源和内存占用。

binlog_checksum = CRC32

slave_allow_batching = 1

master_verify_checksum = 1

slave_sql_verify_checksum = 1

binlog_rows_query_log_events = 1

这四个参数是启用binlog/relaylog的校验,防止日志出错

relay_log_purge = 1

relay_log_recovery = 1

这两个是启用relaylog的自动修复功能,避免

由于网络之类的外因造成日志损坏,主从停止。

master_info_repository = TABLE

relay_log_info_repository = TABLE

这两个参数会将master.info和relay.info保存在表中,默认是Myisam引擎,官方建议用

alter table slave_master_info engine=innodb;

alter table slave_relay_log_info engine=innodb;

alter table slave_worker_info engine=innodb;

改为Innodb引擎,防止表损坏后自行修复

时间: 2024-11-09 05:11:48

mysql5.6 主从的相关文章

mysql5.5 主从

yum -y install gcc gcc-c++ ncurses-devel tar xvf cmake-2.8.4.gz  cd make-2.8.8 ./bootstrap  gmake && gmake install cd .. tar zxvf mysql-5.5.25.tar.gz  cd mysql-5.5.25 mkdir -p /usr/local/mysql/data cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DM

mysql5.6主从参数详解

mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ######################################### server_id = 2 #binlog log-bin = /data1/mysql/binlog/binlog binlog_format

mysql5.5 主从配置

Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务.(1)首先确保主从服务器上的Mysql版本相同(2)在主服务器上,设置一个从数据库的账户,使用REPLICATION SLAVE赋予权限,如:mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'172.16.10.143' IDENTIFIED BY '123456';Query OK, 0 rows affe

mysql5.5主从同步排错

Slave_SQL_Running: No mysql同步故障解决方法 Slave_SQL_Running: No mysql同步故障解决今天检查数据库发现一台MySQL Slave未和主机同步,查看Slave状态:mysql> show slave status\GSlave_IO_Running: YesSlave_SQL_Running: NoLast_Errno: 1062....Seconds_Behind_Master:NULL原因:1.程序可能在slave上进行了写操作2.也可能是

CentOS7.X安装部署mysql5.7主从环境

生产搭建环境:操作系统:CentOS7.5内存大小:32GB硬盘:500G主库IP:192.168.8.129 hostname:master从库IP:192.168.8.130 hostname:slave 涉及主从都需要执行的地方,文中只写主库的操作指使,从库请自觉执行相同的命令 目录:1.环境准备与清理2.参数调优3.安装部署 1.系统初始化1.1.1. 主从库环境关闭selinux [[email protected]]# sed -i 's/SELINUX=enforcing/SELI

MySQL5.7主从环境自动同步脚本

主库IP:192.168.8.129 hostname:master从库IP:192.168.8.130 hostname:slave1.说明:此脚本针对上一篇文章<CentOS7.X安装部署mysql5.7主从环境>搭建完成后的主从随时同步使用https://blog.51cto.com/8355320/24480562.MySQL主从同步会出现如网络延迟等多种原因,造成主从环境不同步,当需要重新同步主从环境时,需要等到业务不繁忙的晚上或周末来进行,而使用脚本备份,有了全库备份,有了binl

MySQL-5.5 主从关于复制过滤的深入探究

之前也用过不同形式的'复制过滤'条件,例如binlog-ignore-db.replicate-do-db.replicate-wild-do-table等.没出问题,所以也没太深究这几个选项.最近用pt-table-checksum做例行检查的时候,发现主从竟然有不一样的块,惊出一身冷汗之余,照着官方文档配合实验好好整理了下. 以下内容参考5.5官方文档 binlog_format(STATEMENT,ROW,MIXED,5.5默认为STATEMENT)的设置会导致一些复制执行上的差异. 当使

mysql5.6主从

1.环境 操作系统:centos6.5(主服务器IP:192.168.100.170,从服务器IP:192.168.100.171)软件版本:mysql5.6.24 2.开始安装: a.主库上设置从库访问的权限 grant replication slave on *.* to [email protected]'192.168.100.171' identified by '123456'; flush privileges;可以在从库上用repl_user尝试连接 b.打开主库的二进制日志,

Windows下mysql5.5主从同步

前置条件: A主机(作为主服务器) 环境:Win7,mysql5.5 IP:172.17.42.82 B主机(作为从服务器) 环境:Win7,mysql5.5 IP:172.17.42.156 主服务器配置: 1.在A的mysql数据库中建立一个同步专用账户slave 命令:GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected]'172.17.42.156' IDENTIFIED BY '517na.com'; 注释:17

mysql5.5主从同步复制配置

在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数,mysql会在下次重启时报错. 说明:主库master与从库slave都是centos6.5 64bit,如下: cat /