Mysql主从复制

所需环境:

两台安装了mysql的服务器(两台虚拟机),我这里用的是docker

1.给两个mysql分别都建一个数据库,命名为server_slave(命名看自己心情哦)

创建数据库

2.下面开始配置,一定要先配置主服务器的etc/my.cnf

#日志文件的名字,自己起的

log_bin=master-a-bin

#日志文件格式

binlog-format=ROW

#当前服务器主机id(唯一)

server-id=1

#需实现主从复制的数据库

bingo_do_db=server_slave

配置主服务器的my.cnf

3.在主服务器里配置从服务器的授权,授权的目的是让从服务器发现主服务器

grant replication slave on *.* to 'root'@'172.17.0.3' identified by '123456';

IP为主服务器的IP地址

配置主服务器的权限

刷新权限flush PRIVILEGES;

刷新权限

4.配置从服务器的etc/my.cnf

#日志文件的名字,自己起的

log_bin=master-a-bin

#日志文件格式

binlog-format=ROW

#当前服务器主机id(唯一)

server-id=2

#双主互相备份(可以作为其他服务器的主服务器),现在不需要可以注释

log-slave-updates=true

从服务器的配置my.cnf

5.主服务器重启mysql,查看状态

查看主从配置状态

6.从服务器进行配置

change master to 

master_host='172.17.0.3',

master_port=3306,

master_user='root',

master_password='123456',

master_log_file='master-a-bin.000001',

master_log_pos=120;

配置从服务器

然后启动slave数据同步

启动slave数据同步

show slave status\G;查看一下备份情况

从服务器连接情况

如果出现一直是Connecting说明哪里有些问题了,需要调整。。

7.出现Connecting的情况常见的有两种:

    (1)防火墙原因

    (2)服务器没有开放3306端口

对主服务器进行配置

开放3306端口

如果提示firewall:command not find就安装一下

安装firewalld
重启防火墙
开启主服务器的权限

8.从服务器进行测试

stop slave;

stop slave;

show slave status\G;

配置成功的状态

9.主从测试

主服务器添加
从服务器查看

测试成功,,主从复制配置完成。。。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。