首页 > 数据库 >Mysql主从复制

Mysql主从复制

时间:2023-07-25 23:33:07浏览次数:34  
标签:主从复制 slave log Mysql MySQL master mysql 日志

介绍

MySQL主从复制时一个异步的复制过程,底层时基于MySQL数据库自带的二进制日志功能。就是一台或者多台MySQL数据库(slave 从库)从另一台MySQL(master 主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制时MySQL数据库自带功能,无需借助第三方工具。

MySQL复制过程分为三部:

  • master将改变记录到二进制日志(binary log)
  • slave将master的binary log拷贝到它的中断日志(relay log)
  • slave重做中断日志中的事件,将改变应用到自己的数据库中

配置主库Master

一、修改MySQL数据的配置文件/etc/my.cnf

[mysqld]
	log-bin=mysql-bin	# 启用二进制日志
	server-id=100		# 服务器唯一ID

二、重启数据库

systemctl restart mysqld

三、登录MySQL,执行下面SQL

use mysql;
-- 给192.168.94.10的用户root授予REPLICATION SLAVE权限
GRANT REPLICATION SLAVE ON *.* to 'root'@'192.168.94.10' identified by 'wyw666';

四、在MySQL中查看Master的状态

show master status;

查看master的状态之后,不要再执行其他操作

配置从库slave(Ubuntu20.04.6)

一、修改MySQL数据的配置文件/etc/mysql/mysql.conf.d/mysql.cnf(这里slave的系统使用Ubuntu20.04.6),主要是自己的安装路径

[mysqld]
	server-id=101 #[必须] 服务器唯一ID

二、重启数据库

systemctl restart mysql

三、登录MySQL数据,执行下列SQL:

change master to master_host='192.168.94.128', master_user='root', master_password='wyw666', master_log_file='mysql-bin.000001', master_log_pos=446;

-- 启动slave
start slave;

四、执行SQL,查看从数据库状态

show slave status\G;

成功!!!

标签:主从复制,slave,log,Mysql,MySQL,master,mysql,日志
From: https://www.cnblogs.com/bobowww/p/17581313.html

相关文章

  • MySQL 事务
    事务1.概念事务是一组命令的集合,强调整体性。以starttransaction或begin开始,以commit或callback结束。starttransactionupdate...1update...2commitbeginupdate...3update...4rollbackcommit表示提交本次事务,完成修改。(若失败,自动回滚回begin......
  • MySQL日志文件简记
    日志文件binlogbinlog主要记录了MySQL数据库执行了更改的所有操作,主要用来做主从复制,数据恢复记录模式:Statement模式:每一条回修改数据的sql都会被记录在日志中Row模式:每一行具体变更是俺都会被记录在binlog中混合模式刷盘时机选择0:由系统自行判断何时刷盘1:每次提交事务......
  • mysql 两表关联更新
    在实际情况下,其中一张表里的数据没有赋值到关联表中,可以使用下面的关联方式进行更新 把b表的name给a表的nameUPDATEtable_aaLEFTJOINtable_bbONp.id=a.uidSETa.name=b.nameWHEREa.name!='' ......
  • MySQL如何保证一直读到最新数据?
    问题:当出现某些特殊场景,一个事务A需要在未提交之前,一定要读取的是事务B提交的最新数据,该如何处理?在MySQL中,事务隔离级别:读未提交、读提交、可重复读、串行化。一、读未提交读未提交会读到其它线程未提交的脏数据,虽然可以一直读到数据,但大部分都是脏数据,所以无法保证是最新有效......
  • mysql cpu使用率高的常见原因 mysql cpu占用率过高
    文章来自:https://blog.51cto.com/u_12192/6319295简单的分为下面几个步骤来解决这个问题:1、mysql运行正常,也有可能是同步设置问题导致2、如果mysql运行正常,那就是php的一些sql语句导致问题发现,用root用户进入mysql管理mysql-uroot-p输入密码mysql:showprocesslist;语句,查......
  • MySQL 事务机制
    事务机制:事务语法:--开始事务begin;--或starttransaction;--提交commit;--回滚rollback;--保存点savepoint;事务特性:默认事务:MySQL的事务默认自动提交:在自动提交的状态下每一条SQL就是一个事务会被直接执行手动开启事务后:则所有的SQL语句都在一个事......
  • MySQL 锁机制
    数据库锁:概念:锁是计算机协调多个进程或线程并发访问某一资源的机制(避免资源争抢)分类:按粒度表级锁:锁定整个表开销小加锁快不会出现死锁锁定粒度大发生锁冲突的概率最高并发度最低数据库引擎总是一次性同时获取所有需要的锁以及总是按相同的顺序获取表锁从而避免死......
  • MySQL 日志机制
    日志机制:错误日志:当数据库无法正常启动时第一个定位错误日志数据库速度慢时也可以定位错误日志得到建议(如增大缓存池增大redologbuffer等)查询日志:没啥用就是记录查询而已应该是为了对应binlog记录修改的日志慢查询日志:捕获查询慢的情况配置:可以设置每分钟最多有......
  • MySQL 数据库连接
    数据连接:连接:MySQL驱动:mysql-connector-Java-XXX.jar数据库连接的建立及关闭是及耗费系统资源的操作,在多层结构的应用环境中,这种资源的耗费对系统性能影响尤为明显。通过DriverManager获得数据库连接的方式,一个数据库连接对象对应一个物理数据库连接,每次操作都打开一个物......
  • MySQL 容灾备份
    容灾备份:数据备份:直接对数据库进行备份:#数据库备份语句#不指定表名的话默认就是整个数据库备份#备份文件可以指定绝对路径mysqldump-u[用户名]-p[库名][表名]...>[备份文件.sql]#多个数据库备份语句mysqldump-u[用户名]-p--databases[库名][库名]......