翼度科技»论坛 编程开发 mysql 查看内容

零基础尝试mysql主从复制

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
本文参考了这篇文章  https://blog.csdn.net/tenc1239/article/details/130451736 感谢大佬的分享
前提:自己准备好两个数据库环境,我用的是本机的vm虚拟机linux中的mysql(版本8.0.33)和本机windows中的mysql(8.1.0)
一、配置主库
   1、配置 my.cnf 文件
  1. # 服务id 用来保证整个集群环境的唯一性 取值范围[1,2^32 - 1] 默认为1
  2. server-id=1
  3. # 是否可读:0可读可写 1只读
  4. read-only=0
  5. # 二进制文件的命名
  6. log-bin=master-bin
  7. # 二进制索引文件的命名
  8. log-bin-index=master-bin.index
  9. # 忽略的数据 表示不需要同步的数据库
  10. # binlog-ignore-db=mysql
  11. # 指定同步的数据库
  12. binlog-do-db=zeroStart
复制代码
    2、创建用于复制的账号(也可以直接用root)
  1. --创建账号
  2. mysql> create user 'mts'@'%' identified by '12345678';
  3. --也可以直接使用这句:
  4. mysql> GRANT all privileges on *.* to 'mts'@'%' identified by '12345678' with grant option;
  5. --设置主重复制权限
  6. mysql> grant replication slave on *.* to 'mts@'%'';
复制代码
   3、查看二进制坐标
  1. mysql> show master status;
复制代码

 这里面的 File、Position  在从库配置中会用到
二、从库配置
   1、修改  my.ini 文件
  1. # server-id 要和主库不一样
  2. server-id=2  
  3. # 只读(可选)
  4. read-only=1
复制代码
   2、使用  mysql -h 主库ip -u root -p  命令,测试是否能连接上主库
   3、修改从库数据源,注:\ 为换行符
  1. mysql> change master to \  
  2. mysql> master_host='192.168.153.128',\   #主库地址
  3. mysql> master_port=3306,\          #主库端口
  4. mysql> master_user='root',\         #主库用户(为省事我直接使用root)  
  5. mysql> master_password='12345678',\
  6. mysql> master_log_pos=157,\               #起始位置,使用上面的  Position  值
  7. mysql> master_log_file='master-bin.000002'; #二进制文件名,使用上面的  File  值
复制代码
   4、启动主从复制  
  1. mysql> start replica;
复制代码
三、操作数据,查看主从复制状态
   1、在主库使用 insert、update、delete 操作,查看数据是否会同步到从库
   2、查看主从复制状态
  1. mysql> show replica status\G;
复制代码
四、注意事项:
   1、操作前先确保主从库能互通,端口有放开
   2、从库可以有多个,本文只是作为记录,只配置了一个
   3、停止主从复制,可以在从库使用  STOP SLAVE; 命令
 

来源:https://www.cnblogs.com/yenengfeng/p/17609469.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具