mysql配置主从复制和常见问题
克隆192.168.138.130(主库),修改后的ip为192.168.138.130(从库),修改131机器的/etc/udev/rules.d/70-persistent-net.rules,将name=’eth0’行注释掉,name=’eth1’改成name=’eth0’,重启网络服务service network restart,再将原eth1的mac地址修改到修改到/etc/sysconfig/network-scripts/ifcfg-eth0,再重启网络服务,关闭两个库的防火墙
1.在主库上开启binlog,从库上暂时关闭binlog,并且将server-id修改得与主库不一样
2.在主库上创建用户从库备份的账号
mysql>grant replication slave on *.* to rep@'192.168.138.*' identified by 'oldboy';
flush privileges;
3.给主库的表加读锁,禁止写入
mysql>flush tables with read lock;
4.查看master状态,记录logbin名称和位置
mysql>show master status;
mysql>show master logs;

5.上一个窗口保留,另开一个窗口对主库进行备份并压缩,然后unlock tables
#mysqldump -uroot -poldboy -A -B --events --master-data=2 > /opt/rep.sql.gz
(生产一般用日常定时备份mysqldump带--master-data=1的全备,这样无需锁表无需熬夜 ,在change master 时也无需指定日志文件和位置,)
6.将备份数据灌入备库
#mysql -uroot -poldboy < /opt/rep.sql.gz
7.制作主从同步需要的语句,在从库(root)执行
change master to master_host='192.168.138.130',master_user='rep',master_password='oldboy',master_log_file='mysql-bin.000001',master_log_pos=744;
8.在从库上start slave,检查是否成功show slave status \G,结果应该是
Slave_IO_Running:Yes,Slave_SQL_Running:Yes
Seconds_Behind_Master: 0表示落后于主库的秒数
配置主从复制常见问题汇总
1.主库show master status \G无结果
主库没有开启binlog,查看/etc/my.cnf有log-bin,或查看变量log_bin(下划线,不是横杠)为on
2.多实例时某一个实例显示mysql is running,grep mysql时实际并未启动
启动脚本的原因,需要删除mysql.sock和对应的pid文件
3.由于mysqldump加-F参数导致切换binglog,进而导致master status的日志文件和位置与导库之前记录的不一致
无影响,只是切换binlog,但两个binlog之间并没有更新
4.未关闭防火墙导致从库一个进程yes一个进程error
从库需要记录binlog的场景
1.级联同步,即当前从库还要作为其他从库的主库
2.把从库作为数据库备份服务器时
需要在从库开启binlog,并且加上参数log-slave-updates
Slave_IO_Running:Yes,Slave_SQL_Running:No
(环境创建:在从库创建一个数据库,在主库创建相同的数据库,从库查看状态即为如上)
解决方法1:set global sql_slave_skip_counter=1
在从库上
mysql> stop slave;
mysql> set global sql_slave_skip_counter=1;(取值为n,n>0,表示在从库忽略主库的n个更新)
mysql> start slave;
mysql> show slave status\G,查看即为正常
以上方法对于普通的互联网业务问题不大,在不影响公司业务的前提下
企业场景解决主从同步,比主从不一致对当前业务更重要,如果主从数据一致也很重要,可另找时间回复从风苦
主从数据不一致与保持主从同步持续状态哪个更重要,需要根据企业业务判断
解决方法2:slave_skip_errors=1032,1062,1007
在从库的/etc/my.cnf中根据需求配置跳过指定的错误号
(如果mysql连接慢,可在配置文件中加skip-name-resolve,忽略名字解析)
mysql配置主从复制和常见问题的更多相关文章
- mysql配置主从复制
1.原理: MySQL之间数据复制的基础是二进制日志文件(binary log file).一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在 ...
- [MySQL] docker下安装使用mysql配置主从复制
拉取mysql的镜像docker search mysqldocker pull mysql 通过镜像创建容器,这里先创建第一个容器作为master mysql-v /etc/mysql:/etc/m ...
- MySQL单机多实例安装并配置主从复制
单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我.下面就说说步骤. 承上文http://www.cn ...
- Mysql中主从复制的原理、配置过程以及实际案例
Mysql中主从复制的原理.配置过程以及实际案例1.什么是主从复制?原理:主从分离,什么意思呢?我们不妨画个图看看.如图1所示: 2.准备工作:预备两台服务器,我这里使用虚拟机安装了两个Centos6 ...
- Amazon EC2安装mysql多实例并配置主从复制
1.MySQL安装: EC2直接使用yum安装mysql很方便: yum install mysql mysql-server mysql-libs 此处安装了三个包 完事之后可以直接使用 servi ...
- Mysql主从(主从不同步解决办法,常见问题及解决办法,在线对mysql做主从复制)
一.主从不同步解决办法 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; 也正常. mys ...
- mysql免安装版配置和一些常见问题
博客原文点我 今天在Windows Server 2003下安装mysql,遇到不少问题.之前在另外两台服务器安装的时候也遇到了几个问题,最后找到不少文章解决了,记录一下. 所有版本都是免安装的32和 ...
- MySQL常用命令和常见问题
MySQL常用命令和常见问题 --创建数据库并设置字符集 create database wip default character set utf8 collate utf8_general_ci; ...
- mysql的主从复制是如何实现的
前言 MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为 ...
随机推荐
- jenkins 多选参数构建配置
参考:https://blog.csdn.net/e295166319/article/details/54017231 场景: 有的时候,参数基本都是那几个,但是不变,但是参数名字比较长,不好记忆, ...
- node跨域cors模块,nodejs+express跨域
使用express写的接口,只能在内部使用,如果想要外部的服务访问,就涉及到了跨域.但是又不想用jsonp,其实有一个node模块,可以轻松实现跨域 npm install cors --save 然 ...
- Java编写email实现内容换行
用java编写的发送邮件要使用<br>来实现换行,而不能使用\n,或者\r\n // 5. Content: 邮件正文(可以使用html标签)(内容有广告嫌疑,避免被邮件服务器误认为是滥发 ...
- cocos2d JS 鼠标响应事件
对于PC和超级本,添加鼠标事件的的处理,可以加强用户的体验,其处理逻辑与触摸事件基本一样,多了一些鼠标特有的事件响应 如滚轮事件(onMouseScroll) cc.eventManager.addL ...
- BCB6.0 清除TPanel面板上的所有控件
方法一: panel->ComponentCount属性获得panel所拥有的控件个数 panel->Components[i]属性获得某一个控件 delete panel->Com ...
- vsftp
[安装vsftpd]安装vsftpd工具步骤 1 安装vsftpd组件 [root@bogon ~]# yum -y install vsftpd 安装完后,有/etc/vsftpd/vsftpd ...
- activiti 项目变更控制器
package com.xinwei.process.controller; import java.util.Calendar; import java.util.HashMap; import j ...
- 关于python中selector问题
在做大型的爬虫时,re表达式往往效率不高,scrapy框架为爬虫提供了很好的爬虫方法 scrapy提取数据时有一套自己的机制,即selectors,一般通过特定的XPath,或者特定 的CSS表达式来 ...
- Explorer Bo (思维 + 树链剖分)
题意:求用最少的链覆盖所有的边用最少的总链长度. 思路:为了使得使用的链最少,我们可以知道使用的数量应该是(子叶 + 1)/ 2. 画图可知:当节点下的边数是偶数时,为了将该父节点上的边给连接上,所以 ...
- Python学习记录之-----类
面向过程 VS 面向对象 编程范式 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大 ...