mysql主从复制 -- 异步复制

环境准备

两台Linux服务器 (centos 7)+ mysql 5.7.29

步骤

  1. 安装好centos 7的系统,编译安装好MySQL,在主服务器启动二进制日志功能,新建并且授权用户,并且将主服务器里的数据导出,在从服务器上导入数据,做好前期两台服务器之间的数据的一致性工作。
cat /etc/centos-release  #查看centos版本

mysql -uroot -p'xxxxxxx'  #登录查看MySQL版本

# 开启二进制日志 
# 注:两台机器的server id不能相同
# 主服务器
vim /etc/my.cnf
server-id = 1
log-bin

#从服务器
vim /etc/my.cnf
server-id = 2
log-bin

# 在主服务器上新建一个用户,用于复制二进制日志
# 登录mysql
mysql -uroot -p'xxxxxxx'
# 创建用户,授予复制权限
grant replication slave on *.* to 'heyachen'@'%' identified by'Sanchuang123#';

# 备份出主服务器上的数据,scp传到从服务器
# 将所有库备份到/backup/all-databases.sql文件中
mysqldump -uroot -p'xxxxxxx' --all-databases > /backup/all-databases.sql
# 传到从服务器的/root目录上(这里可以将两台机器建立ssh免密通道 详情见:https://blog.csdn.net/thereiscc/article/details/108013254)
scp  /backup/all-databases.sql root@192.168.126.158:/root

# 在从服务器导入
 mysql -uroot -p'xxxxxxx' < /root/all-databases.sql 
  1. 在slave上配置master的信息,开启slave功能
# 在从服务器配置master信息
show master status; # 查看master状态(在主服务器上)

mysql -uroot -p'xxxxxxx'   # 登录从服务器的mysql

#配置主服务器信息
 CHANGE MASTER TO MASTER_HOST='192.168.126.164' , # master的ip
 MASTER_USER='heyachen',  # 之前创建的用户名
 MASTER_PASSWORD='xxxxxxx',  # 密码
 MASTER_PORT=3306,  # master服务器mysql的端口
 MASTER_LOG_FILE='mysql-master-bin.000003',  # 当前二进制日志的名字(在master上-show master status查看)
 MASTER_LOG_POS=154;  #当前二进制日志position(查看方法同上)

#关闭防火墙和selinux
vim /etc/systemctl/selinux  # 永久关闭selinux
	SELINUX=disabled
setenforce 0  # 临时关闭selinux
systemctl disable firewalld  # 永久关闭防火墙
service firewalld stop  # 临时关闭防火墙

# 在slave上启动slave
start slave;

show slave status\G  # 查看slave状态

slave状态如下图所示代表启动成功
在这里插入图片描述
3. 验证主从复制的方法
在master的mysql中建库,建表,插入数据
去slave的mysql中查看是否同步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值