mysql主备搭建
mysql主备搭建
参考文档https://www.cnblogs.com/clsn/p/8150036.html
前提条件:
系统:Ubuntu 16.04.6 LTS
MySQL版本:5.7.24
主库IP:192.168.225.131
从库IP:192.168.225.132
1.安装主数据库master
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
2.安装完成master后对数据库进行配置
注意以下只是配置文件中跟主备相关的部分内容,其他配置根据需要自己进行配置即可。
[mysqld]
bind-address = 192.168.225.131 //这里的IP地址必须是通过ipconfig查出来的IP
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
binlog_do_db = empw_test
#binlog_ignore_db = include_database_name
binlog_format = row # binlog的格式 row 具有 statement和mixed 不具备的优势 填写 row
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1 # 和 sync_binlog 组成双1 配置 保证数据的完整性
3.完成第2步的配置后重启数据库
ubuntu为systemctl restart mysql.server
创建同步账号
CREATE USER 'sync'@'%' IDENTIFIED BY 'sync';
grant replication slave on *.* to 'sync'@'192.168.225.132' identified by 'sync';
flush privileges;
4.登录数据库查看配置是否生效
mysql -uroot -p
use mysql;
show master status;

如上图所示,标识master配置成功。
注意:在第2步中的bind-address地址,是否要配置为公网IP地址,有待进一步测试。
设置数据库可以远程访问
grant all privileges on *.* to root@'%' identified by 'xxxx' with grant option;
flush privileges;
创建备份用户
grant replication slave on *.* to repl@'%' identified by '123';
flush privileges;
5.安装从数据库slave
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
6.安装完成slave后对数据库进行配置
注意以下只是配置文件中跟主备相关的部分内容,其他配置根据需要自己进行配置即可。
server-id = 2
bind-address = 192.168.225.132
7.完成第6步的配置后重启数据库
ubuntu为systemctl restart mysql.server
8.登录数据库配置slave
从数据库配置前需要一次初始化数据
在主数据库执行:
mysqldump -uroot -proot -A -B -F --master-data=2 >/tmp/full.sql
在从数据库执行:
mysql -uroot -p
set sql_log_bin=0;
source /tmp/full.sql
配置slave
CHANGE MASTER TO
MASTER_HOST='192.168.225.131',
MASTER_USER='repl',
MASTER_PASSWORD='123',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000008',
MASTER_LOG_POS=154;
start slave; # 启动从库复制
该配置想关说明可以通过 help 获得。
查看slave库的状态:show slave status;
主要查看 Slave_IO_Running 与 Slave_SQL_Running 是否都为Yes

9.测试
在主数据库中创建一张表,在从数据库中进行查看即可,如果从数据库中自动创建改表表示配置成功。
mysql主备搭建的更多相关文章
- MySQL集群搭建(1)-主备搭建
数据库在任何业务中都是最重要的环节之一,这就对数据库架构提出的较高的要求.单点数据库永远不应该出现在生产环境,我们已经目睹过太多由于单点.备份缺失造成的损失,所以,搭建高可用 MySQL 集群是非常有 ...
- MySQL主备模式的数据一致性解决方案
根据阿里交易型业务的特点,以及在双十一这样业内罕有的需求推动下,我们在官方的MySQL基础上增加了非常多实用的功能.性能补丁.而在使用MySQL的过程中,数据一致性是绕不开的话题之一.本文主要从阿里 ...
- LVS+MYCAT+读写分离+MYSQL主备同步部署手册
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- LVS+Keepalived+Mysql+主备数据库架构[4台]
这是一个坑...磨了不少时间.见证自己功力有待提升... 架构图 数据库 1.安装数据库 这块不难, 直接引用:mysql安装 2.数据库主备 这块不难, 直接引用: mysql主备 虚拟VIP 重点 ...
- mysql主备配置
目录 mysql主备2 一.master配置:2 1. 修改配置文件 2 2. 登录添加账号并赋权限 2 3. 查看master信息 2 二.slave配置:2 1. 修改配置文件 2 2. 重启登录 ...
- mysql主备切换[高可用]
到这一步的时候, 是主备部署已经处理好, 请关注:mysql主备部署[高可用] 这次使用的是keepalived-1.2.22.tar.gz版, 官网地址:keeplived官网 笼统知识请自行查询百 ...
- MySQL主备复制原理、实现及异常处理
复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...
- mysql主备切换canal出现的问题解析
通过配置VIP,在进行主备切换时,出现的报错信息: 1.当主备节点当前binlog文件名称相同时,原主节点的position小于主备切换后的position,出现如下报错: 2020-07-02 15 ...
随机推荐
- Oracle查询显示CLOB的内容
select dbms_lob.substr(note) from table
- SpringBoot: 12.异常处理方式2(使用@ExceptionHandle注解)(转)
1.编写controller package com.bjsxt.controller; import org.springframework.stereotype.Controller; impor ...
- unity3d 触屏多点触控(旋转与缩放)
unity3d 触屏多点触控(旋转与缩放) /*Touch OrbitProgrammed by: Randal J. Phillips (Caliber Mengsk)Original Creati ...
- Flutter 路由 页面间跳转和传参 返回
Navigator Navigator用来管理堆栈功能(即push和pop),在Flutter的情况下,当我们导航到另一个屏幕时,我们使用Navigator.push方法将新屏幕添加到堆栈的顶部.当然 ...
- imregionalmax imregionalmin imextendedmax imextendedmin imhmax imhmin 函数的详解 matlab中函数
BW = imregionalmax(I): 该函数获得灰度图像 I 的局部极大值,返回值BW为和原图像大小相同的二值图像,BW中元素1对应极大值,其他元素为0 BW = imregionalmax( ...
- jquery+flask+keras+nsfw快速搭建一个简易鉴黄工具
1. demo 地址:http://www.huchengchun.com:8127/porn_classification 接口说明: 1. http://www.huchengchun.com:8 ...
- SQL注入(字符型)
靶场:sqli-labs @SQLi最重要的一点:别上来就对着输入框注入,完整语句写出来,始终在语句中写完整的,最后把完整的一部分截取出来作为输入 @URL编码:为避免歧义,URL中,如 %2b ...
- MapReduce 框架原理
1. Hadoop 序列化 1.1 自定义Bean对象实现序列化接口 必须实现 Writable 接口: 反序列化时,需要反射调用空参构造函数,所以必须有空参构造: 重写序列化方法: 重写反序列化方法 ...
- Oracle表级约束和列级约束
Oracle表级约束和列级约束 1. 表级定义约束 指的是在定义完一个表所有列之后,再去定义所有相关的约束. 注意:not null 约束只能在列级上定义. 2. 列级定义约束 指的是在定义一个表的每 ...
- Python 解LeetCode:23. Merge k Sorted Lists
题目描述:把k个排序的链表组成的列表合并成一个排序的链表 思路: 使用堆排序,遍历列表,把每个列表中链表的头指针的值和头指针本身作为一个元素放在堆中: 第一步中遍历完列表后,此时堆中最多会有n个元素, ...