首页 > 数据库 >mysql双主机热备

mysql双主机热备

时间:2023-08-10 16:26:36浏览次数:37  
标签:bin binlog 热备 log 主机 db ignore mysql

1,主库配置
cp -f ~/files/my.cnf.master /opt/my.cnf
service mysql restart
mysql -uroot -p
create user 'repl'@'%' identified with mysql_native_password by 'repl';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
#执行以下命令,记下File和Position
show master status;

2,从库配置
cp -f ~/files/my.cnf.slave /opt/my.cnf
service mysql restart
mysql -uroot -p
STOP SLAVE;
#执行下面命令,填上记下的File和Position
CHANGE MASTER TO
MASTER_HOST='172.19.42.200',
MASTER_USER='repl',
MASTER_PASSWORD='repl',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=192707;
#启动从数据库IO线程
START SLAVE;
#查看是否成功,如果发现Slave_IO_Running和Slave_SQL_Running都为yes,则成功了
show slave status \G;

3,重置、查看日志
reset master;
reset slave;
#查看binlog全部文件
show binary logs;
show variables like 'log_bin%';
show variables like 'binlog%';
show binlog events in'mysql-bin.000007';

配置双主热备,只需将1、2步骤中除了“覆盖数据库配置文件”,之外的命令反过来执行一遍即可。

 

my.cnf.master

 1 [mysqld]
 2 basedir = /opt/mysql
 3 datadir = /opt/mysql/data
 4 log-error = /var/log/mysqld.log
 5 port=3306
 6 max_connections=200
 7 character-set-server=utf8
 8 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
 9 #服务id
10 server-id=1
11 #bin log 日志
12 log-bin=mysql-bin
13 #bin log 日志格式
14 #STATEMENT:记录主库执行的SQL复制到从库; 调用时间函数时会导致主从数据不一致
15 #ROW:记录主库每一行的变化;效率低
16 #MIXED:修复一些主从数据不一致情况;本地变量调用还会存在问题;
17 binlog_format=statement
18 #二进制日志自动删除/过期的天数。默认值为0,表示不自动删除
19 expire-logs-days=7
20 #主从复制忽略的数据库
21 binlog-ignore-db=information_schema
22 binlog-ignore-db=performance_schema
23 binlog-ignore-db=mysql
24 #开启主从复制的数据库
25 binlog-do-db=ffs
26 #启用中继日志
27 relay_log=mysql-relay-bin.log
28 #在作为从数据库时候,有写入操作也要更新二进制日志文件
29 log-slave-updates=1
30 replicate-do-db=ffs
31 replicate-ignore-db=mysql
32 replicate_ignore_db=information_schema
33 replicate_ignore_db=performance_schema
34 #非只读
35 read_only=0
36 #跳过主从复制中遇到的所有错误或指定类型的错误
37 slave-skip-errors=all
38 #标识自增长字段每次递增的量,也就是步长
39 auto-increment-increment=2
40 #表示自增长从哪个数开始,互为主从的两个机器设置不一样较好
41 auto-increment-offset=1
42 [mysql]
43 default-character-set=utf8
44 [client]
45 port=3306
46 default-character-set=utf8

 

my.cnf.slave

 1 [mysqld]
 2 basedir = /opt/mysql
 3 datadir = /opt/mysql/data
 4 log-error = /var/log/mysqld.log
 5 port=3306
 6 max_connections=200
 7 character-set-server=utf8
 8 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
 9 #服务id
10 server-id=2
11 #bin log 日志
12 log-bin=mysql-bin
13 #bin log 日志格式
14 #STATEMENT:记录主库执行的SQL复制到从库; 调用时间函数时会导致主从数据不一致
15 #ROW:记录主库每一行的变化;效率低
16 #MIXED:修复一些主从数据不一致情况;本地变量调用还会存在问题;
17 binlog_format=statement
18 #二进制日志自动删除/过期的天数。默认值为0,表示不自动删除
19 expire-logs-days=7
20 #主从复制忽略的数据库
21 binlog-ignore-db=information_schema
22 binlog-ignore-db=performance_schema
23 binlog-ignore-db=mysql
24 #开启主从复制的数据库
25 binlog-do-db=ffs
26 #启用中继日志
27 relay_log=mysql-relay-bin.log
28 #在作为从数据库时候,有写入操作也要更新二进制日志文件
29 log-slave-updates=1
30 replicate-do-db=ffs
31 replicate-ignore-db=mysql
32 replicate_ignore_db=information_schema
33 replicate_ignore_db=performance_schema
34 #非只读
35 read_only=0
36 #跳过主从复制中遇到的所有错误或指定类型的错误
37 slave-skip-errors=all
38 #标识自增长字段每次递增的量,也就是步长
39 auto-increment-increment=2
40 #表示自增长从哪个数开始,互为主从的两个机器设置不一样较好
41 auto-increment-offset=2
42 [mysql]
43 default-character-set=utf8
44 [client]
45 port=3306
46 default-character-set=utf8

 

标签:bin,binlog,热备,log,主机,db,ignore,mysql
From: https://www.cnblogs.com/guanghe/p/17620668.html

相关文章

  • mysql与pg的主键索引说明
    mysql与pg的主键说明mysql插入顺序与插入随机测试案例B+Tree原理id顺序的方式插入id随机的方式插入Postgresql堆组织表CTIDPg的元组及索引原理Pg与mysql与oracel问题mysql插入顺序与插入随机测试案例  创建了两张表一张表是按顺序来插入的一张表......
  • Linux的MySQL数据库安装部署
    简介MySQL数据库,是知名的数据库系统,其特点是:轻量,简单,功能丰富。MySQL常用版本有MySQL5.7版本安装MySQL8.x版本安装MySQL在CentOS系统安装(5.7版本与8.0版本)注意:安装操作需要root权限安装配置yum仓库#导入更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG......
  • MySQL统计各种数据库对象大小
    MySQL统计各种数据库对象大小;包含:数据库、表、索引等脚本使用示例统计实例中各数据库大小SELECTTABLE_SCHEMA,round(SUM(data_length+index_length)/1024/1024,2)ASTOTAL_MB,round(SUM(data_length)/1024/1024,2)ASDATA_MB,round(SUM(index_length)/1024/1024,2)ASINDEX......
  • 全方位对比 Postgres 和 MySQL(2023 版)
    根据2023年的StackOverflow调研(https://survey.stackoverflow.co/2023/),Postgres已经取代MySQL成为最受敬仰和渴望(themostadmired,desired)的数据库。  随着Postgres的发展势头愈发强劲,在Postgres和MySQL之间做选择变得更难了。 如果看安装数量......
  • Docker下搭建MySql主从复制
    在Docker环境下搭建MySql主从复制,阅读此文章默认读者具备基础的Docker命令操作。 一、环境1、Docker版本:Dockerversion24.0.5,buildced09962、MySql:Serverversion:5.7.36MySQLCommunityServer(GPL)3、Centos:CentOSLinuxrelease7.9.2009(Core)4、数据库Master......
  • mysql Statement接口
    Statement接口是Java执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。java.sql.Statement接口用于执行静态的SQL语句并返回执行结果。在默认情况下,同一时间每个Statement接口只能打开一个ResultSet对象。因此,如果读取一个ResultSet......
  • MYSQL数据库 学习大全
    MYSQL数据库目前广泛的应用在各种个人、商务系统中,各种技术都比较成熟。把自己学习的一些过程总结一下,该文章设计到的内容都没有做太具体的阐述,只是一个简单的入门手册,假如想看更多内容可以参看MYSQL的联机手册。1MYSQL安装先下载安装包:mysql-5.0.27-win32.zipmysq......
  • MySQL之join
    语法...fromtb1join(innerjoin)tb2oncondition...fromtb1leftjointb2oncondition...fromtb1rightjointb2oncondition...fromtb1fulljointb2oncondition【1】阿里巴巴Java开发手册【强制】超过三个表禁止join。需要join的字段,数据类型必须绝......
  • MYSQL数据库知识点
    CONCAT()函数的使用方法--双列合并SELECTCONCAT(id,'@',number2)FROMtable1--多列合并SELECTCONCAT(id,'AA',number,'B',number2)FROMtable1table1的数据以及拼接后的效果  DATE_FORMAT()时间格式化函数 ......
  • MySQL 之【视图】【触发器】【存储过程】【函数】【事物】【数据库锁】【数据库备份】
    一.多表联合查询 创建表和数据#多表查询语法select字段1,字段2...from表1,表2...[where条件]注意:如果不加条件直接进行查询,则会出现以下效果,这种结果我们称之为 笛卡尔乘积#查询人员和部门所有信息select*fromperson,dept笛卡尔乘积公式:A表中数据条数  *......