MYSQL主从同步设置

一、mysql5.6进行主从同步设置(附生产环境主从同步设置)

1. 环境:已经安装好了mysql5.6版本的两台主机
master server:192.168.110.109
slave server:192.168.110.115
原理:
在这里插入图片描述
2.准备工作
(1)关闭防火墙:systemctl stop firewalld
(2)关闭selinux
(3)配置固定ip地址
(4)修改主机名:master与slave

3.master server设置

修改配置文件

# vim /etc/my.cnf
#[mysqld]
log-bin=binlog   #开启二进制日志
server-id=1        #指定服务id

重新启动服务

systemctl restart mysql
#如果没有配置系统路径启动mysql,可以按下面绝对路径开启mysql
#/usr/local/mysql/bin/mysqladmin -uroot -p shutdown  
#/usr/local/mysql/bin/mysqld_safe  --user=mysql &

查看端口是否被启动

netstat -tulnp | grep 3306

服务重启后查看二进制文件是否已经被打开

mysql> show variables like 'log_bin';

在这里插入图片描述

授权一个账户供slave复制数据

grant replication slave on *.* to 'cym'@'192.168.110.%' identified by 'gz123';

4.slave server设置

修改配置文件(注意是从库的my.cnf)

# vim /etc/my.cnf
# [mysqld]        
 server-id=2    #保证和主服务器不一样

重启mysql服务

systemctl restart mysql

5.配置从库连接到主库

在主库master查看二进制文件的位置

mysql> show master status\G

在这里插入图片描述
来到从库slave内的数据库进行下面的语句

#使用help change master to查看帮助命令
mysql> help change master to

找到这里的例子
在这里插入图片描述
这里解释一下各部分内容:
CHANGE MASTER TO
MASTER_HOST=‘master2.mycompany.com’, #master地址,也就是我们需要到哪去取数据
MASTER_USER=‘replication’, #用户名,在master里授权用来读数据的用户名
MASTER_PASSWORD=‘bigs3cret’, #密码,在master里授权用来读数据的用户的密码
MASTER_PORT=3306, #数据库端口,默认3306
MASTER_LOG_FILE=‘master2-bin.001’, #二进制文件名称,如果有重启数据库,注意查看是否是新的的二进制文件
MASTER_LOG_POS=4,#起始位置,从二进制文件哪里开始同步
MASTER_CONNECT_RETRY=10; #连接重试,10s重试一次,可以采用默认值

在slave里进行change master to

CHANGE MASTER TO MASTER_HOST='192.168.110.109',MASTER_USER='cym',MASTER_PASSWORD=                                                                      'gz123',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=1103;

开启从机

mysql> start slave;

最后来查看一下主从状态
在这里插入图片描述
自此,主从同步配置完成,下面介绍生产环境下的主从配置

二、生产环境下的主从配置

原因: 生产环境下,数据库无时无刻不在进行读写内容,如果停止数据库的运行来进行主从配置,会丢失很多数据。因此,这里的主从配置需要在主库master时刻在读写的情况下,进行主从同步的配置。
环境:
master 192.168.110.109 —时刻在进行数据的读写
slave 192.168.110.115 —一台新主机,进行主从同步配置
步骤:
1.先将master主机进行数据库的全备;
2.再将master的数据库全备文件拷贝到slave;
3.将master的数据库全备文件写入slave
4.将slave与master进行同步

1.进行master主机的数据库全备份

#--master-data可以让生成的配置文件,给出备份时二进制日志使用的文件以及备份的截止位置
mysqldump -uroot -p -A --master-data > /opt/all.sql

在这里插入图片描述
也可以在备份文件直接搜索我们需要的信息

awk '/^CHANGE/' /opt/all.sql

2.将master的全备数据库文件拷贝到slave上

scp /opt/all.sql  root@192.168.110.115:/root

3.将备份文件写入slave数据库

mysql -uroot -p < all.sql

4.进入到数据库里查看是否被写入
在这里插入图片描述
5.进行主从同步

后面的配置就跟前面的部分一样了,先对slave进行change to

mysql> CHANGE MASTER TO MASTER_HOST='192.168.110.109',MASTER_USER='cym',MASTER_PASSWORD=                                                                      'gz123',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=1103;

开启从机

mysql> start slave;

配置完成后,从库slave即可以同步master的数据了
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库主从同步是一种常用的数据复制方式,可以确保数据在多个服务器之间的一致性。以下是设置MySQL数据库主从同步的步骤: 1. 配置主服务器: - 在主服务器的配置文件中(一般是my.cnf),启用二进制日志功能(log-bin)并设置一个唯一的标识符。 - 配置一个用于同步的账户,并给予REPLICATION SLAVE权限。 - 重启主服务器,使配置生效。 2. 备份主服务器数据: - 使用mysqldump或其他备份工具,将主服务器上的数据备份到一个文件中。 3. 配置从服务器: - 在从服务器的配置文件中,配置一个唯一的服务器ID。 - 配置一个用于同步的账户,并给予REPLICATION CLIENT权限。 - 重启从服务器,使配置生效。 4. 导入主服务器数据到从服务器: - 将备份文件导入到从服务器上,可以使用mysql命令行或其他导入工具。 5. 启动主从同步: - 在从服务器上执行CHANGE MASTER TO命令,指定主服务器的地址、账户信息和二进制日志文件名。 - 使用START SLAVE命令启动从服务器的同步进程。 6. 检查同步状态: - 使用SHOW SLAVE STATUS命令查看从服务器的同步状态,确保同步正常运行。 以上是基本的主从同步设置步骤,根据具体情况可能会有一些额外的配置和调优。请注意,在配置主从同步之前,确保网络连接正常,主从服务器之间的时间差不大,并且主从服务器的硬件配置相当。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值