2018mysql5.7.21主从异地热备份(容灾)

mysql5.7.21版本主从异地热备份

数据库版本:5.7.21
2018mysql5.7.21主从异地热备份(容灾)_第1张图片

1.两台ip地址:

服务器A(ubuntu):192.168.10.68

2018mysql5.7.21主从异地热备份(容灾)_第2张图片

服务器B(window):192.168.10.167

2018mysql5.7.21主从异地热备份(容灾)_第3张图片

2.开启服务器A的log_bin以及授权服务器B的登录访问

ubuntu的默认配置路径是在:

cd /etc/mysql/mysql.conf.d
vi mysqld.cnf

注意:mysql.cnf默认权限是644 ,只读
需要修改文件权限:

sudo chmode 777 mysqld.cnf

修改文件权限完成后,增加下图的几条:
binlog_do_db = database
说明:database是你要备份的数据库(我备份的数据库名是cl)

vi mysqld.cnf

在【mysqld】中修改配置项:
2018mysql5.7.21主从异地热备份(容灾)_第4张图片
网上都有具体说明:
注意的地方:server_id =3:这个3不要和从服务器的server_id 一样就ok,注意是下划线”_”不是-.,我这里是用的3.
配置完成后保存
1:esc键:
:wq保存
需要把可读权限改过来

sudo chmod 644 mysqld.cnf

进入数据库

命令行:
mysql -u root -p password
(root是你的用户名,password是你数据库的密码)

查看二进制log_bin是否开启

show variables like ‘%log_bin%’;

2018mysql5.7.21主从异地热备份(容灾)_第5张图片

查看master状态

show master status\G;

2018mysql5.7.21主从异地热备份(容灾)_第6张图片

给从服务器B授权(开个mysql账户,绑定服务器B的IP,设置个登录密码)

grant replication slave on *.* to 'slave_user'@'192.***.***.***' identified by 'mysql';

上面把ip地址换成B机器的ip地址。 只允许B登录。安全。

用户名为: slave_user

密码为: mysql

这个等会在B上面要用。

到这里主服务器配置完成。


从服务器配置

我用的是在window的数据库,配置项是my.ini,如果找不到可以直接在你电脑左下角[开始]搜索文件 :my.ini.
2018mysql5.7.21主从异地热备份(容灾)_第7张图片

修改my.ini配置文件

2018mysql5.7.21主从异地热备份(容灾)_第8张图片
落了一步:补上/2018/3/20

MySQL从5.1.7以后开始就不支持在my.cnf中对master-host等参数进行配置,而是使用了CHANGE MASTER TO语句。

mysql> CHANGE MASTER TO MASTER_HOST='master的ip地址 192.168.xx,xx',
    -> MASTER_USER='user_name',
    -> MASTER_PASSWORD='password',
    -> MASTER_LOG_FILE='mariadb_bin.000036',
    -> MASTER_LOG_POS=3379;

这里最后填的两个就是第3步看到的File和position。
然后就可以开始同步了:

mysql> START SLAVE;

可以看一看Slave的运行状态

查看从服务器B数据库的状态

show slave status\G;

2018mysql5.7.21主从异地热备份(容灾)_第9张图片

注意:两个线程一定要开启,刚开始可能会报错,说你的ids一样,修改server_id两个不同就ok的,修改过后一定要重启后才能生效,一定要重启mysql。

所有配置完成!perfect!
可以查看,你在主服务器A上mysql做的增删改查,都会映射到从服务器B上的mysql中,
需要注意的是,你关机重启后,第二天你电脑的ip地址就变了。还需要修改ip地址。还要log_bin你关机重启也会更改。
许多事情都是在你摸索中慢慢理解。本文仅供参考。
欢迎csdn的朋友们留言评论,不懂的地方您评论我会及时给您回复!谢谢。大家一起学习,共同进步!

你可能感兴趣的:(数据库备份,程序人生)