【mysql】主从同步

概述

mysql主从配置可以大大提高数据库可用性,减少系统压力,是简单版本的读写分离。步骤:主库配置–>主库备份(加锁、记录位置、解锁)–>从库配置–>从库恢复

主库配置

主库配置(开启binlog)
my.cnf

server-id = 1
#开启mysql binlog功能
log-bin=/data/mysql/arch_log/mysql-bin
expire_logs_days=10
max_binlog_size=200M
binlog_do_db=tmp_syn
binlog_ignore_db=mysql
#binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
#对于binlog_format = ROW模式时,减少记录日志的内容,只记录受影响的列
binlog_row_image = full

备注:my.cnf文件变更需要重启数据库

同步账号配置
create user repl@‘%’ identified by ‘###’;
grant replication slave on . to repl@‘%’ identified by ‘###’;
flush privileges;
show master status;
在这里插入图片描述

记录binlog文件名称及位置

主库添加测试数据

初始化一些数据

CREATE TABLE IF NOT EXISTS student
(
    stu_id         INT(10)     NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '学号',
    stu_name       VARCHAR(20) NOT NULL COMMENT '姓名',
    stu_sex        VARCHAR(4) COMMENT '性别',
    stu_birth      YEAR COMMENT '出生年份',
    stu_department VARCHAR(20) NOT NULL COMMENT '院系',
    stu_address    VARCHAR(50) COMMENT '家庭住址'
);

INSERT INTO student(stu_name,stu_sex,stu_birth,stu_department,stu_address)  VALUES
('张老大','男','1985','计算机系','北京市海区'),
('张老二','男','1986','中文系','北京市昌平区'),
('张三','女','1990','中文系','湖南省永州市'),
('李四','男','1990','英语系','辽宁省阜新市'),
('王五','女','1991','英语系','福建省厦门市'),
('王六','男','1988','计算机系','湖南衡阳市')

在这里插入图片描述

主库备份

./mysqldump -u root --password=****** tmp_syn –master-data=2 –single-transaction >/data/tmp_syn.sql

全库大数据量备份可用
innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=backup --password=---- --socket=/tmp/mysql.sock /backup/full
其余均一致

从库配置

从库配置
my.cnf

server-id = 2
#开启mysql binlog功能
log-bin=/data/mysql/arch_log/mysql-bin
expire_logs_days=10
max_binlog_size=200M
binlog_do_db=tmp_syn
binlog_ignore_db=mysql
#binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
#对于binlog_format = ROW模式时,减少记录日志的内容,只记录受影响的列
binlog_row_image = full
#master status and connection information输出到表mysql.slave_master_info中
master_info_repository = TABLE
#the slave‘s position in the relay logs输出到表mysql.slave_relay_log_info中
relay_log_info_repository = TABLE
#作为从库时生效,想进行级联复制,则需要此参数
log_slave_updates
slave_skip_errors=ddl_exist_errors

备注:my.cnf文件变更需要重启数据库

从库手动创建数据库
create database tmp_syn;
恢复数据
(1).mysql -uroot -p
(2)source /data/tmp_syn.sql
在这里插入图片描述
在这里插入图片描述

创建slave

change master to master_host=‘10.216.70.23’,master_user=‘repl’,master_password=‘—’,master_port=3306,master_log_file=‘mysql-bin.014361’,master_log_pos=154;

在这里插入图片描述
注意:
Slave_IO_Runing yes
Slave_SQL_Runing yes
都必须为yes则配置成功

异常可通过跳过处理
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值