美文网首页
mysql的主从同步

mysql的主从同步

作者: TheRaging | 来源:发表于2022-05-19 11:23 被阅读0次
image.png

主要通过mysql的二进制日志实现的主从同步 会因为网络原因出现同步延迟问题,然后导致同步不及时

如果对同步要求高的项目可以使用PXC方案实现主从同步,但是代价就是对资源的一个消耗 顶峰取决于集群中 的短板
采用的是一个中间管理者 来负责所有设备的同步情况,所有设备都返回Ok 才会返回Ok 一个失败 便所有都回退 返回失败

前提是 主库开启了二进制的日志

备份主库的所有表 在从库中执行一遍

mysqldump -uroot -p --all-databases --lock-all-tables > ~/master_db.sql

说明:

  • -u :用户名
  • -p :示密码
  • --all-databases :导出所有数据库
  • --lock-all-tables :执行操作时锁住所有表,防止操作时有数据修改
  • ~/master_db.sql :导出的备份数据(sql文件)位置,可自己指定

主库创建用于主从同步进行连接的账号

#创建账号
CREATE USER 'save'@'%' IDENTIFIED BY 'password';
#账号赋权  一般都赋权为REPLICATION SLAVE
GRANT REPLICATION SLAVE ON *.* TO 'save'@'%'

修改密码连接方式 不然的话会报错

#报错内容
#Authentication plugin ‘caching_sha2_password‘ reported error: Authentication
##修改密码连接方式
ALTER USER 'save'@'%' IDENTIFIED WITH mysql_native_password BY '13014786999Wzp.';
###更新密码加密
ALTER USER 'save'@'%' IDENTIFIED WITH mysql_native_password BY '13014786999Wzp.'; 

获取主服务器的二进制日志信息

SHOW MASTER STATUS;

File为使用的日志文件名字,Position为使用的文件位置,这两个参数须记下,配置从服务器时会用到

image.png

从库配置

如果需要限制同步数据库 可自行在my.cnf文件中添加如下配置

replicate-do-db=db_name  #需要同步的数据库名

设置连接

##
change master to master_host='192.168.204.129', master_user='slave', master_password='slave',master_log_file='mysql-bin.000001', master_log_pos=590;

注:

  • master_host:主服务器Ubuntu的ip地址
  • master_log_file: 前面查询到的主服务器日志文件名
  • master_log_pos: 前面查询到的主服务器日志文件位置
  • master_port:主库的mysql的连接端口 默认3306

开启主从同步

##开启
 START SLAVE
##关闭 
 stop SLAVE
###查看状态
 show slave status \G;
image.png

相关文章

网友评论

      本文标题:mysql的主从同步

      本文链接:https://www.haomeiwen.com/subject/ndhdvltx.html