mysql 主从配置 事务_MySQL 主从复制配置

一、环境介绍

系统:CentOS Linux release 7.9.2009 (Core)

数据库MySQL版本:5.6.50-log

数据库连接工具Navicat

终端工具SecureCRT

master(194.168.2.103) slave(194.168.2.104)

二、创建测试数据库

-- 创建数据库

create database data_test;

-- 查看数据库

show databases;

三、修改master配置文件

#编辑

vi /etc/my.cnf

#添加

#日志文件名称

log-bin=mysql-bin

#服务器编号

server-id=1

#日志文件格式,非必须

binlog-format= ROW

#对应需要实现主从复制的数据库(没有出创建,如果没创建也可以等配置完成后创建)

binlog_do_db= data_test #数据库名字 如果有多个以空格隔开db1 db2 db3

#binlog-ignore-db= #不同步的数据 如果有多个以空格隔开db1 db2 db3 ....

#为了在使用带事务的InnoDB进行复制设置时尽可能提高持久性和一致性

#当设置为0,该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。

#当设置为1,该模式是最安全的,但也是最慢的一种方式。在mysqld 服务崩溃或者服务器主机crash的情况下,#binary log 只有可能丢失最多一个语句或者一个事务。。

#当设置为2,该模式速度较快,也比0安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失。

innodb_flush_log_at_trx_commit= 2

#表示每次事务提交,MySQL都会把binlog刷下去,是最安全但是性能损耗最大的设置

#sync_binlog=0,表示MySQL不控制binlog的刷新,由文件系统自己控制它的缓存的刷新。这时候的性能是最好的,但#是风险也是最大的。因为一旦系统Crash,在binlog_cache中的所有binlog信息都会被丢失。

#sync_binlog>0,表示每sync_binlog次事务提交,MySQL调用文件系统的刷新操作将缓存刷下去。

sync_binlog= 1

四、查看skip_networking

#开启该选项后就不能远程访问MySQL

#确保在主服务器上 skip_networking 选项处于 OFF 关闭状态, 这是默认值。

#如果是启用的,则从站无法与主站通信,并且复制失败。

show variables like '%skip_networking%';

五、创建从库连接主库的用户

#创建

create user 'slave1'@'%' identified by '123345';

#赋权,更改远程连接

GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%'

六、Slave配置

vi /etc/my.conf

#日志文件名字

log_bin= mysql-bin

#日志文件格式

binlog-format= ROW

#服务器的id,是唯一的

server-id= 2

#双主互相备份(表示从服务器可能是另外一台服务器的主服务器)

log-slave-updates= true

七、重启主从数据库

systemctl restart mysqld

八 、配置并验证

#Master数据库

show master status;

490a1b1fbb2ef606ff9e130fda8af96e.png

#配置slave服务器连接master参数,和参数为查询主库的参数

# MASTER_HOST 主服务器的主机名(也可以是 IP)

# MASTER_USER 连接到主服务器的用户

# MASTER_PASSWORD 到主服务器的密码

# MASTER_PORT 端口号

# MASTER_LOG_FILE 文件名称

# MASTER_LOG_POS 文件位置偏移量,执行位置

CHANGE MASTER TO MASTER_HOST='192.168.2.103',MASTER_USER='slave1',MASTER_PASSWORD='123345',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=961;

#如果上一步配置错误修改方法为

CHANGE MASTER TO MASTER_HOST='192.168.2.103',MASTER_USER='slave1',MASTER_PASSWORD='123345',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=407;

# 启动从库

start slave;

# 停止

stop slave;

#查看从库

show slave status;

fc79d7fe926d0414b3a4ddbce8d17135.png

九、记录错误

5039f5453fcbd304d3964a891b098263.png

由于设置master数据库密码导致

重新设置

CHANGE MASTER TO MASTER_HOST='192.168.2.103',MASTER_USER='slave1',MASTER_PASSWORD='123345',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=407;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值