MySQL主从复制+备份

1,环境两台centos7,分别为msater、slave

      Master:192.168.1.107  slave:192.168.1.102

2,关闭防火墙及其他服务

      systemctl stop firewalld

      systemctl stop firewalld

  关闭selinux,vim /etc/sysconfig/selinux

3,搭建master数据库。

  挂载磁盘

Centos7的yum源藐视没有正常安装mysql时的mysql-server文件,官网下载。

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

rpm安装源到本机

  rpm -ivh mysql-community-release-el7-5.noarch.rpm

yum安装数据库

  yum install mysql-community-server  -y

安装完成后,启动数据库,开机自启动

  systemctl start mysqld

  systemctl enable mysqld

初次登陆没有密码,设置密码

     mysql   -u  root  -p

  use   mysql

  update user set password=PASSWORD('123456') where user='root';

  flush privileges;

开启远程访问

允许远程主机,访问所有,root用户,任何ip,密码123456

  grant all on *.* to 'root'@'%' identified by '123456';

允许单个IP访问(列)

  grant all on *.* to 'root'@'192.168.1.102' identified by '123456';

4, 在master修改配置文件

Vim   /etc/my.cnf

在【mysqld】节点添加

设置master的id,启用二进制日志

重启服务

  systemctl    restart   mysqld

登陆MySQL查看master状态

  show   master   status;

完成

5,搭建slave服务器,方法一样。

不用授权远程登陆,配置文件的id号不一样就行。

修改slave的配置文件vim /etc/my.cnf

重启数据库

  systemctl   restart   mysqld

通过命令配置,同步数据库

change master to master_host='192.168.1.107',master_port=3306, master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;

开启slave:start   slave

开启slave后,查询是否成功,可以看出已经成功。

  show slave status G;

在主创建一个库,看是否能同步到从

查看从,slave

主从成功了!

master_host 主服务器的IP地址
master_port 主服务器的PORT端口
master_log_file 和主服务器show master status中的File字段值相同
master_log_pos 和主服务器show master status中的Position字段值相同

start slave; #stop slave;停止服务,出错时先停止,再重新配置
show slave statusG; #查看SLAVE状态,G结果纵向显示。必须大写.
只有出现两个yes才算成功。
注意:如果出错,可以看后面的错误信息。观察Slave_SQL_Running_State字段,它会记录详细的错误信息。如果正常,上面两个线程执行都应该是YES。这样当主库创建数据库、创建表、插入数据时,从库都会立刻同步,这样就实现了主从复制。

6, 开始备份数据库,使用tar冷备的方法,需在备份,及恢复数据库时候,都要关闭数据库。

主从备份,都需要在一个时间备份,一个时间恢复,保证数据的一致性,及避免数据库不一致,报错。同时备份。

主从已经同步,有一个test测试库。我们在主,和从使用同样的办法备份。

主从步骤一样。

备份成功,同时启动主从,在主上面删掉从,测试恢复。

从服务器也就没有了test库,关闭数据库,看是否能恢复。

主从都开始恢复

开启数据库

查询主从,是否恢复

查询数据是否存在

备份成功。

如果有问题,看看从服务器是否为yes

原文地址:https://www.cnblogs.com/YCcc/p/10825716.html