MySQL 主从复制 主主复制(3)

一.主从复制

1.描述

mysql主从复制实现的原理就是binlog日志,主节点负责数据库写操作,从节点负责读操作,从节点上不需要使用事务,能够大大提高数据库的性能.

准备三台节点:

192.168.100.193  master

192.168.100.194  slave

192.168.100.195  slave

 

2.配置master

1.开启binlog日志

vim  /etc/my.cnf 

配置:

server-id=3
log-bin=/var/lib/mysql/mysql-bin

重启mysql   service mysqld restart

2.创建用户并授权

登录MySQL mysql -uroot -p

创建用户:create user 'repl' identified by 'repl';

授权:grant replication slave on *.* to 'repl'@'192.168.100.%' identified by 'repl';

 

 

3.配置slave

1.修改my.inf配置文件

server-id=2

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

重启mysql   service mysqld restart

2.连接Master(下面复制如果不执行出错,建议手动敲)

change master to 

master_host='192.168.100.193',  // 主节点

master_port=3306, //主节点的端口号

master_user='repl', // 账号

master_password='repl', // 密码

master_log_file='mysql-bin.000003',  // show master status 对应的的日志 

master_log_pos=154; // show master status 对应的

在主节点上 show master status;

3.查看状态

start slave //启动从节点, stop slave 停止从节点,  restart slave 重启从节点,

查看状态

show slave status\G  查看状态

 Slave_IO_Running: Yes

 Slave_SQL_Running: Yes

代表成功

4.如果克隆的机器 需要修改MYSQL的uuid

vim /var/lib/mysql/auto.cnf

 如下修改

二.主主复制

 

1.开启原从节点的binlog日志

2.原从节点创建读取副本的用户

3.在原主节点中让master指向从节点

4.在原主节点执行 start slave 命令

一台主机配置:

vim /etc/my.cnf

auto_increment_increment=2

auto_increment_offset=1

另外一台 

vim /etc/my.cnf

auto_increment_increment=2 auto_increment_offset=2