记 MySQL主从复制

原理:

      MySQL主要根据二进制文件进行同步;主数据库将记录写进自己的二进制文件,备数据库通过获取主数据库二进制文件并转换成SQL语句后执行,从而实现主从复制。

本人用途:

在主数据库无法停止运行进行数据备份的情况下,可以暂停备数据库,对数据进行备份操作

配置:

主机名IP地址服务器版本MySQL版本
DB1(主)192.168.56.103RedHat 6.45.1.73
DB2(备)192.168.56.104RedHat 6.45.1.73

 

 

 

 

 MySQL安装:

https://blog.csdn.net/qq_15993903/article/details/86623029

操作步骤:

1.修改MySQL配置文件my.cnf,注意在[mysqld]以下增加

[root@localhost ~]# vim /etc/my.cnf 

 DB1,增加以下内容

log-bin = /var/lib/mysql/mysql-bin #数据库安装路径,启动二进制文件
server-id =1                                     #唯一ID
log_slave_updates=1                    #开启主主同步 
bing-do-db=yang                     #待同步的数据库

 

DB1的配置
DB1的配置

DB2,增加以下内容

log-bin = /var/lib/mysql/mysql-bin  #数据库安装路径,启动二进制文件
server-id =2                                     #唯一ID(与主id区分)
log_slave_updates=1                    #开启主主同步

bing-do-db=yang                     #待同步的数据库

DB2的配置

重启数据库服务:

[root@localhost ~]# service mysqld restart

 

如MySQL无法启动,则检查my.cnf是否正确配置(去掉注释)

查看MySQL目录是否生成 mysql-bin.* 文件

[root@localhost ~]# cd /var/lib/mysql/
[root@localhost mysql]# ls
DB1
DB2

2.创建复制用户

DB1中创建:授权来自BD2(192.168.56.104)通过mysql用户访问

[root@localhost mysql]# mysql -u root -proot
mysql> CREATE USER 'mysql'@'192.168.56.104' IDENTIFIED BY 'mysql';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'mysql'@'192.168.56.104';

DB2中创建:授权来自BD1(192.168.56.103)通过mysql用户访问

[root@localhost mysql]# mysql -u root -proot
mysql> CREATE USER 'mysql'@'192.168.56.103' IDENTIFIED BY 'mysql';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'mysql'@'192.168.56.103';

3.执行CHANGE MASTER TO语句,通过show master status确认

DB1
DB2

 

DB1执行:输入通过show master status在DB2查出的信息

CHANGE MASTER TO
  MASTER_HOST='192.168.56.104',
  MASTER_USER='mysql',
  MASTER_PASSWORD='mysql',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=716;
DB1

DB2执行:输入通过show master status在DB1查出的信息

CHANGE MASTER TO
  MASTER_HOST='192.168.56.103',
  MASTER_USER='mysql',
  MASTER_PASSWORD='mysql',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=356;
DB2

4.分别在BD1和DB2两端执行 start slave 和 show slave status\G 查看主从复制是否搭建成功

[root@localhost mysql]# service mysqld restart
[root@localhost mysql]#mysql -u root -proot
mysql> start slave;
mysql> show slave status\G
DB1
DB2

出现 Slave_IO_Running: Yes Slave_SQL_Running: Yes 说明成功

5.提供以下语句进行验证

create table cs01(
   id INT NOT NULL AUTO_INCREMENT,
   title VARCHAR(100) NOT NULL,
   author VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY ( id )
);

INSERT INTO `cs01` (`title`, `author`, `submission_date`) VALUES ('cs01', 'cs01', '2019-01-25');
DB1
DB2

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值