首页 > 数据库 >零基础尝试mysql主从复制

零基础尝试mysql主从复制

时间:2023-08-06 15:33:32浏览次数:40  
标签:尝试 主库 主从复制 master mysql bin 从库

本文参考了这篇文章  https://blog.csdn.net/tenc1239/article/details/130451736 感谢大佬的分享

前提:自己准备好两个数据库环境,我用的是本机的vm虚拟机linux中的mysql(版本8.0.33)和本机windows中的mysql(8.1.0)

一、配置主库

   1、配置 my.cnf 文件

# 服务id 用来保证整个集群环境的唯一性 取值范围[1,2^32 - 1] 默认为1
server-id=1
# 是否可读:0可读可写 1只读
read-only=0
# 二进制文件的命名
log-bin=master-bin
# 二进制索引文件的命名
log-bin-index=master-bin.index
# 忽略的数据 表示不需要同步的数据库
# binlog-ignore-db=mysql
# 指定同步的数据库
binlog-do-db=zeroStart

    2、创建用于复制的账号(也可以直接用root)

--创建账号
mysql> create user 'mts'@'%' identified by '12345678';
--也可以直接使用这句:
mysql> GRANT all privileges on *.* to 'mts'@'%' identified by '12345678' with grant option;
--设置主重复制权限 
mysql> grant replication slave on *.* to 'mts@'%'';

   3、查看二进制坐标

mysql> show master status;

 这里面的 File、Position  在从库配置中会用到

二、从库配置

   1、修改  my.ini 文件

# server-id 要和主库不一样
server-id=2  
# 只读(可选)
read-only=1

   2、使用  mysql -h 主库ip -u root -p  命令,测试是否能连接上主库

   3、修改从库数据源,注:\ 为换行符

mysql> change master to \  
mysql> master_host='192.168.153.128',\   #主库地址
mysql> master_port=3306,\          #主库端口
mysql> master_user='root',\         #主库用户(为省事我直接使用root)  
mysql> master_password='12345678',\
mysql> master_log_pos=157,\               #起始位置,使用上面的  Position  值
mysql> master_log_file='master-bin.000002'; #二进制文件名,使用上面的  File  值

   4、启动主从复制  

mysql> start replica;

三、操作数据,查看主从复制状态

   1、在主库使用 insert、update、delete 操作,查看数据是否会同步到从库

   2、查看主从复制状态

mysql> show replica status\G;

四、注意事项:

   1、操作前先确保主从库能互通,端口有放开

   2、从库可以有多个,本文只是作为记录,只配置了一个

   3、停止主从复制,可以在从库使用  STOP SLAVE; 命令

 

标签:尝试,主库,主从复制,master,mysql,bin,从库
From: https://www.cnblogs.com/yenengfeng/p/17609469.html

相关文章

  • 主从复制
    主从复制一,配置主DNS前提条件两边防火墙都要关闭[root@localhost~]#systemctlstopfirewalld.service​root@localhost~]#setenforce0​ 1.1进入主配置文件2,进入域名配置之文件进入复制文件夹修改配置配置网卡查看是否配置成功二,配置从DNS2.1修改主配......
  • 【面试经验分享】MySQL数据库面试题:如何定位慢查询?
    面试官:MySQL中,如何定位慢查询?候选人:嗯~,我们当时做压测的时候有的接口非常的慢,接口的响应时间超过了2秒以上,因为我们当时的系统部署了运维的监控系统Skywalking,在展示的报表中可以看到是哪一个接口比较慢,并且可以分析这个接口哪部分比较慢,这里可以看到SQL的具体的执行时间,所以可以......
  • Docker系列 (1) - 使用 Docker 部署 MySQL 8.1
     MySQL是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL已成为Web应用程序的数据库优先选择。本文演示在Docker上部署MySQL8.1。MySQL:https://www.mysql.com/1.部署环境   IP地址(本地测试环境):192.168.0.10   操作系统:LinuxCentOS7.9 ......
  • MySQL数据库的常用命令
    1.创建数据库指定字符集:CREATE DATABASEdb_nameDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci 2.新建用户:createuser'hive'@'localhost'identifiedby'123456';如果提示:ERROR1290(HY000):TheMySQLserverisrunningwiththe--skip-gra......
  • 创建usr local mysql在home下
    ln-s目录软链接名称......
  • mysql关闭bin_log
    vim/etc/my.cnf......
  • 本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止。M
    下载好mysql后,想要启动mysql服务时出现了以上问题。整了半天终于解决了,方案如下:1.首先进入到MySQL的安装目录下,每个人的安装目录可能会有所不同,比如我的是C:\ProgramFiles\MySQL\MySQLServer8.0;2.看一下与bin同级的目录中有没有data这个文件夹,若有,则把原有的data文件夹删掉......
  • MySQL中为什么使用B+树做索引而不采用B-树
    B-树在提高了IO性能的同时并没有解决元素遍历的低下的问题,然而B+树只需要去遍历叶子节点就可以实现遍历整棵树。由于数据库中基于范围的查找是非常频繁的,B树的查找效率就很低下。主要原因:1.B+树的磁盘读写代价更低:B-树/B+树的特点就是每层节点数目非常多,层数很少,目的就是为了减......
  • Mysql按照固定时间间隔统计数据
    SELECTCODE,TM,SUM(DRP)FROMxxTableWHERE CODE='409K0044'and`TM`>='2023-01-0108:00:00' ANDMOD(unix_timestamp(`TM`)-unix_timestamp('2023-01-0108:00:00'),24*60*60)BETWEEN0 AND1 GROUPBYCODE,TM DRP是需......
  • mysql-单表查询
    --单表查询--一、创建查询环境createtableifnotexistsfruits(f_idvarchar(10)notnullcomment'水果编号',s_idintnotnullcomment'批发商代号',f_namevarchar(50)notnullcomment'水果名称',f_pricedecimal(8,2)notnullcomment'水果价格......