mysql主从复制-主库已有数据
一、备份已有数据
1、备份主库,及恢复到从库
把主库现有数据备份下来,再恢复到从库,此时两个主机的数据一致。
如果事先有数据的话,这步不能忘。
1)在主库上加锁,使只有只读权限。
mysql > flush table with read lock;
2)记住就是这个点备份的。
3)备份数据。
root@bogon ~]# mysqldump -uroot -p --all-databases|gzip > dump.sql.gz
4)解锁库(备份完成之后执行此步骤)
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
5)恢复到从库
mysql> source /home/admin/dump.sql;
由于数据量非常大,所以这步执行非常耗时。
二、mysql搭建一主一从
在59和89上都安装上mysql再进行以下操作.
主从原理图:
1.59为主,给89授权
grant replication slave on *.* to 'root'@'192.168.22.89 ' identified by 'root';
参数说明:
用户名:root
密码:root
意思是:允许192.168.22.89使用用户名为root,密码为root访问59
2.开启59的binarylog
打开my.cnf配置文件,添加一下配置:
使用命令编辑my.cnf这个配置文件: vi /etc/my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=59
log-bin=mysql-bin
expire_logs_days= 7
# binlog每个日志文件大小
max_binlog_size= 100m
# binlog缓存大小
binlog_cache_size= 4m
# 最大binlog缓存大小
max_binlog_cache_size= 512m
# 不写这句意思是默认同步所有数据库
binlog-do-db=401_itoo
3.设置89的my.cnf文件
log-bin=mysql-bin
binlog_format=mixed
server-id=89
# 下面这句不写意思是默认为所有数据库
replicate-do-db=401_itoo
4.查看59的binary日志位置,配置89的时候需要用到
连接上mysql,使用命令查看binary
show master status\G
File:日志名称
Position:日志偏移量
Binlog_Do_DB:记录日志的库
5.开启89的同步
在89上执行以下命令:
HOST: 主节点ip
USER: 59授权给89的用户名
PASSWORD: 授权给89的密码
MASTER_LOG_FILE: 59的日志名称
MASTER_LOG_POS: 日志偏移量,需要和59的一样
6.查看89的slave线程是否开启
Slave_IO_Running为读取master的binaryLog的线程
Slave_SQL_Running为执行SQL的线程
(这两个线程必须都为YES才可以实现主从复制)
Seconds_Behind_Master 表示: slave的SQL线程与I/O线程的时间差。它的作用:
通过监控 show slave status\G 命令输出的 Seconds_Behind_Master 参数的值来判断,是否有发生主从延时。其值有这么几种:NULL — 表示io_thread或是 sql_thread 有任何一个发生故障,也就是该线程的 Running 状态是 No,而非 Yes。0 — 该值为零,是我们极为渴望看到的情况,表示主从复制良好,可以认为 lag 不存在。正值 — 表示主从已经出现延时,数字越大表示从库落后主库越多。负值 — 几乎很少见,这是一个BUG值,该参数是不支持负值的,也就是不应该出现。
到此主从复制就搭建完了。
mysql主从复制-主库已有数据相关推荐
- MySQL主从复制——主库已有数据的解决方案
MySQL主从复制--主库已有数据的解决方案 参考文章: (1)MySQL主从复制--主库已有数据的解决方案 (2)https://www.cnblogs.com/songwenjie/p/93767 ...
- MySQL主从复制主库宕机:1更新完relaylog2最大post设为主库 配置及删除之前从库信息3其他从库新建连接
1.确保所有relay log 全部更新完毕 在每个从库上执行 stop slave io_thread; show processlist; 直到看到Has read all relay log:表 ...
- mysql主从复制同步
主master : 192.168.8.10 开启二进制日志 配置唯一的server-id 获得master二进制日志文件名及位置 创建一个用于slave和master通信的用户账号 从slave : ...
- mysql主从复制、redis基础、持久化和主从复制
一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...
- mysql 主从备份 全量数据_当主库存在历史数据时如何完成全量Mysql主从复制
当主库存在历史数据时如何完成全量Mysql主从复制 上一篇文章介绍了[docker+mysql的主从复制的搭建][1],使用docker有许多优点:可以轻松实现跨平台的移植.docker容器之间不会互 ...
- mysql从库比主库数据多_linux mysql主从复制配置
1.设置主库master的servie-id值并且开启bin-log功能参数 vi /etc/my.cnf 修改my.cnf的参数: [mysqld] server-id=1 //每一个库的serve ...
- mysql集群经常无法truncate_失败的mysql cluster配置-无法顺利转换已有数据
本文转自:http://bbs.chinaunix.net/archiver/?tid-819640.html 失败的mysql cluster配置-无法顺利转换已有数据 额配置了1个cluster, ...
- 已有数据表的Mysql字符编码修改
Mysql字符集修改应该如何实现呢?下面就为您详细介绍已用数据表的Mysql字符集修改方法,希望对您学习Mysql字符集方面能有所启迪. 环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才 ...
- php mysql 主从复制_Windows 环境下,MySQL 的主从复制和主主复制
Mysql的主从配置 1.找到配置文件 找到配置文件是主从复制的第一个难点.很多新手都容易找错配置文件,一般my.ini配置文件所在的位置都是隐藏的. 一般人都以为配置文件为 C:\Program F ...
最新文章
- python【数据结构与算法】01背包问题(附例题)
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- oracle启动报参数不正确,【oracle】模拟故障 - 参数修改导致无法启动oracle
- php html5 css样式,怎么在html页面写css样式表
- 记一次 Python Web 接口优化
- DOS系统功能调用表(INT 21H)
- prefuse学习(二)显示一张图
- c语言学籍管理系统小程序,学籍业务办理系统(开源 v2.0发布 优化代码,增加小程序端)...
- linux /etc/profile文件,Linux 配置文件 /etc/profile
- opencore(OC引导)关于修改sle系统权限的问题
- SNS大负载系统解决方案研究
- linux dm9000驱动分析,ARM-Linux驱动--DM9000网卡驱动分析(二)
- linux 文件 内容 并集,Linux 两个文件求交集、并集、差集
- android 调用百度翻译API 实现在线翻译
- Vue海报编辑器(自由拖拽海报生成)
- Chrome html播放器卡顿,谷歌Chrome浏览器卡顿原因及解决办法
- 华为手机有信号 打电话无服务器,华为手机信号,真有传说中那么好?
- 软件测试行业女生真的没有一席之地了吗,还能入行软件测试吗?
- 基于语法分析的公式分析器设计
- 不想周末被工作提醒打扰?你需要这个手机便签消息免打扰设置
热门文章
- 20162305《程序设计与数据结构》第1周学习总结
- Sublime Text 2删除行尾空格
- 小姐姐给我讲,一听就懂的财务报表
- Linux系统管理(6)——Linux下启动Redis服务的几种方法
- 暴力破解(一)——python脚本暴力破解 加密的zip压缩文件
- 软件_matplotlib绘图跳过时间段的处理方案[博]
- linux 恢复与暂停进程
- 收集几个AS3频谱代码SoundMixer.ComputeSpectrum()
- oracle or 运算,Oracle Or子句
- python吃香吗_python编程为何这么吃香