依照日志点的复制,mysql主从复制

前文讲过日志复制分为基于日志点的复制和基于GTID的复制。

1、主从服务器版本肖似(主版本可低于从版本卡塔 尔(阿拉伯语:قطر‎

本文就讲一下根据日志点的复制进度。

2、互联网连通性

1.在主DB服务器上确立复制帐号。

3、一个具备复制权限的账户,便于从服务器进行理并答复制

create user ‘repl’@ip 段 identified by ‘pwd’;

4、干净的条件,未有RPM包安装过的mysql

create user repl@'192.168.1.%' identified by 'repl';

版本:5.6.13

授权

二进制版本:

grant replication slave on *.* to ‘repl’@ip 段;

grant replication slave on *.* to repl@'192.168.1.%';

源码版本

2.布局主数据库服务器。

bin_log=mysql-bin

 

启用二进制日志,并钦赐日志名字。

-1 mysql的安装

server_id =100

groupadd mysql

内需钦定serverid,在复制集群中必得唯风华正茂。

useradd -g mysql mysql

3.从服务器配置。

 

bin_log=mysql-bin

tar xv mysql* 

server_id=101

cd mysql*

# 中继日志

*******************************编写翻译安装*********************************

relay_log=mysql-relay-bin

(若为二进制版本,则无需这一步卡塔 尔(阿拉伯语:قطر‎

# 可选参数,是还是不是把中继日志记录到近来的二进制日志中,

cmake . 

#假若急需把近年来从服务器,作为其它从服务器的复制源,则必要安插。

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DWITH_DEBUG=0
-DMYSQL_USER=mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci

log_slave_update=on

(配置文件不乐意,能够去除目录下的CMakeCache.txt)

# 安全布署参数,幸免从写入

make && make install

read_only=on

*******************************配置mysql*******************************

4.初步化从服务器的数码

cd /usr/local/mysql

mysqldump ,此情势供给加锁。

cp support-files/mysql.server /etc/init.d/mysqld

参数:

chkconfig --add mysqld 

–single-transaction :保证数据事务后生可畏致性,要求对数据库加锁,会形成窒碍。

chkconfig --level 2345 mysqld on 

-master-data=2 : 记录主库二进制文件的偏移量消息。

cp support-files/my-medium.cnf /etc/my.cnf(版本5.6.13未曾找到模版,复制default卡塔 尔(阿拉伯语:قطر‎

xtrabackup –slave-info 热备工具。

*******************************配置mysql*******************************

行使innodb存款和储蓄引擎是不会梗塞。

log_bin = /usr/local/mysql/log/mysql-bin

mysqldump -uroot -p -P3308 --single-transaction --master-data --triggers --routines --all-databases >> all.sql

basedir = /usr/local/mysql  

从服务器导入数据

datadir = /usr/local/mysql/data  

mysql -uroot -p -P3309 <all.sql

port = 3306  

5.开发银行复制链路

server_id = 1  

急需在从服务器上操作。

socket = /tmp/mysql.sock

change master to MASTER_HOST=’master_host_ip’,

*******************************初始化mysql******************************

MASTER_USER=’repl’,

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

MASTER_PASSWORD=’PWD’,

*******************************data和log写权限***************************

MASTER_LOG_FILE=’MYSQL_LOG_FILE_NAME’,

chown -R root:mysql /usr/local/mysql

MASTER_LOG_POS=4;

chown -R mysql:mysql /usr/local/mysql/data

change master to master_host='localhost',
    -> master_user='repl',
    -> master_password='repl',
    -> MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=2162;

chown -R mysql:mysql /usr/local/mysql/log

这段能够在导出的公文中搜寻。

*******************************意况变量*********************************

图片 1

vim ~/.bash_profile

 

PATH=$PATH:$home/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

show slave status G

source /root/.bash_profile

翻开复制链路状态。

 

图片 2

 

开发银行复制链路

-2 服务器配置文件

start slave;

--1 主服务器(需重启mysql卡塔 尔(阿拉伯语:قطر‎(定义事物提交后将日志从内部存储器转移至磁盘,同不日常间及时刷新日志,将数据写入磁盘卡塔 尔(阿拉伯语:قطر‎

图片 3

log-bin=mysql-bin

 

server-id=1

采用show processlist 查看服务线程。

sync-binlog=1

图片 4

innodb-flush-logs-at-trx-commit=1

一个IO线程,一个SQL线程。

--2 从服务器(需重启mysql卡塔尔(定义从服务器只读,并关闭bin日志,同一时间slave服务概念为手动卡塔 尔(阿拉伯语:قطر‎

主服务器查看

#log-bin=

图片 5

relay-log=relay-bin

 

relay-log-index=relay-bin.index

启航了二个dump线程。

server-id=11

6.验证复制效果:

skip-slave-start=1

在节点A执行。

read-only=1

图片 6

-3 mysql配置

 

--1 主服务器(192.168.1.1)授权,获取最后时期的日记记录地方,并备份当前数据库(--lock-all-tables备份前锁表,备份后自行解锁;--master-data=2 记录CHANGE MASTEWrangler TO MASTE迈凯伦600LT_LOG_FILE和MASTER_LOG-POS)

1.创立多个表。

mysql -uroot

2.插入两条记下。

>grant replication client,replication slave on *.* to repl@'192.168.1.%' identified by '123456';

在从服务器上查询。

>show master status;

图片 7

>

 

*************************** 1. row ***************************
File: mysql-bin.000009
Position: 107
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)

察觉数目同步了。

>q

 

mysqldump --all-databases --lock-all-tables --master-data=2 -p密码 > /root/slave.sql

优点:

scp /root/slave.sql root@192.168.1.1:/usr/local/mysql

1.是mysql最先补助的复制技能,BUG相对相当少。

 

2.对SQL查询未有其余限定。

--2 从服务器(192.168.1.2)苏醒数据库,设置连接属性,并开启复制

3.故障管理相比便于。

mysql -uroot

缺点:

>source /usr/local/mysql;

故障转移时再次赢得新主的日志点消息相比不方便。

>change master to MASTER_HOST='192.168.1.1',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000009',MASTER_LOG_POS='107';

>start slave;

 

-4 半合伙格局(减弱同步延迟难题卡塔尔

--1 半同步情势要求插件扶持,暗许插件地方在/usr/local/mysql/lib/plugin

--2 主服务器

mysql -uroot

>install plugin rpl_semi_sync_master scname 'semisync_master.so';

>set global rpl_semi_sync_master_enable=1;

>set global rpl_semi_sync_master_timeout=1000; 

--3 从服务器

mysql -uroot

>install plugin rpl_semi_sync_slave scname 'semisync_slave.so';

>set global rpl_semi_sync_slave_enable=1;

>set global rpl_semi_sync_slave_timeout=1000;

>stop slave;

>start slave;

 

-5 监察和控制状态

--1 主从复制异步主要变量

>show slave status;

获取如下,多少个皆为yes寻常,有二个不为yes,则十分

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

--2 半联合首要变量

主要变量:

>show global variables like 'rpl_%';

收获如下

标记连接slave数量

rpl_semi_sync_master_client=n

标识半联手是或不是启用,1移动,0非活动

rpl_semi_sync_master_status=1

标识半同台是不是启用。I/O线程是或不是启用,1平移,0非活动

rpl_semi_sync_slave_status=1

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:依照日志点的复制,mysql主从复制

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。