mysql 主从实现
主库:192.168.1.19
从库:192.168.1.20
开启db_test单库复制
常见问题
参考文档
主配置
- 以mysql root用户登录,用下面sql创建专门用于主从复制的mysql用户repl,并授权给从库20,密码是mysql
grant replication slave on *.* to 'repl'@'192.168.1.19' identified by 'mysql';
flush privileges;
- 再修改mysql配置文件,开启主库binlog输出
cd /opt/svr/mariadb5/etc
vi my.cnf
打开binlog某些配置项,即开启主库的写binlog配置,调整过的参数如下:
log-bin=/opt/dbdat/mariadb5_data3306/log/mysql-bin #binlog存放路径
log-bin-index=/opt/dbdat/mariadb5_data3306/log/mysql-bin.index
binlog-do-db = db_test #只开启db_test库的复制,其他库不复制
binlog-format=row #行模式复制
- 保存并重启mysql,查看下面目录已生成binlog文件:
/opt/dbdat/mariadb5_data3306/log/mysql-bin
mysql-bin.000001 mysql-bin.index
- 也可以通过下面sql查询主库复制状态
show master status;
从配置
连接主库
通过下面sql连接主库,注意其中的用户密码,以及binlog文件名、读binlog的位置(可通过上面show master status;sql查询master最新位置)
执行sql:change master to master_host='192.168.1.19', master_user='repl', master_password='mysql', master_log_file='mysql-bin.000001', master_log_pos=0;
开启slave复制
执行sql: slave start
- 查看slave状态
执行sql:show slave status \G;
- 查看slave配置参数
执行sql:show variables like "%slave%";
常见问题
- slave不稳定,容易失效,经常要手工启动
测试过程中,需要先执行下面sql连接主库
slave stop;
change master to master_log_file='mysql-bin.000005', master_log_pos=83773;
slave start; - 发现下面一些情况需要手工启动slave
在主库、备库drop某些表
当主库有某张表,但从库没有,通过java插入、查询该表时,也会造成slave停止
当master binlog postion与slave 读取的位置不一致时,要重新按照新的位置连接master,并重启slave - 参考文档
- http://www.examw.com/linux/all/186202/index-3.html
- http://blog.longwin.com.tw/2008/12/mysql-replication-slave-ignore-error-msg-2008/
- http://shanchao7932297.blog.163.com/blog/static/13636242011284192652/
- http://os.51cto.com/art/201311/418982.htm
mysql 主从实现的更多相关文章
- 在 CentOS7 上部署 MySQL 主从
在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...
- 高性能Mysql主从架构的复制原理及配置详解
温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...
- MySQL主从同步
脚本 [root@test scripts]# cat ss.sh #!/bin/bash . /etc/init.d/functions MYUSER=root MYPASS=c565f972 SO ...
- mysql主从配置
引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...
- 恢复MySQL主从数据一致性的总结
今日上午,同事告知,MySQL主从数据库的数据不一致,猜测备库在同步过程中出现了问题,于是,登上备库,使用 mysql> show slave status\G查看,果然,备库在insert语句 ...
- LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案
方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- MySQL 主从配置
mysql主从复制指两个服务器之间数据库的同步,当主服务器的数据进行了变更,从服务器也会自动更新,其过程是通过bin-log日志实现的,本质是binlog日志的传输. mysql主从分两个角色 1.主 ...
- MySQL主从同步配置
如果主从配置之前安装了云平台,请停止云平台后在进行mysql主从配置. 1. 登录master数据库,检查数据库端口防火墙设置,允许远程客户连接,如果没有,执行以下操作. 执行命令:iptables ...
- mysql主从切换
mysql 主从切换 主停,从做主步骤如下: 1 确认从服务器已经完成所有同步操作:stop slave io_thread show processlist 直到看到状态都为:xxx has rea ...
随机推荐
- Ubuntu下使用Vi时方向键变乱码 退格键不能使用的解决方法
要在Ubuntu下编辑一些文件,这就涉及到了vi这个编辑器了.在Ubuntu下,初始使用vi的时候有点问题,就是在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现[A [B [C [D ...
- MySQL函数笔记
MySQL函数笔记 日期函数 SELECT t1.xcjyrq, t1.* FROM view_sbxx t1 WHERE t1.syzt ; SELECT t1.xcjyrq, t1.* FROM ...
- Android 多状态按钮 ToggleButton
ToggleButton 选中状态,未选中状态并且需要为不同的状态设置不同的显示文本. 属性: checked="true" ...
- text-indent: -999px;是什么意思
就是把该元素内的文字移到屏幕外面去,让我们肉眼看不见,有时候是因为如某栏目名称的文字或者logo的文字已经用背景图片代替了,我们不需要眼睛看见那些文字,但是希望搜索引擎可以搜到,就可以用这个把文字“隐 ...
- Moutain Tai notes
rest 40shaxian 18 drumsticks 13零食 11.5+21车费5门票62大衣10面14 > 194.5 notes :::: 岗位职责:1.基于Drupal系统的产品功 ...
- 用OO方式写键盘字母小游戏
<html> <head> <title>0.0</title> <script> window.onload=functi ...
- Unix/Linux环境C编程入门教程(3) Oracle Linux 环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 2010年9月,Oracle Enterprise Linux发布新版内核--Un ...
- mysql 语句练习
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- 使用rowid和rownum获取记录时要注意的问题
我们知道.rowid和rownum在Oracle中都是能够被当做伪劣使用的,主要用来定位表中特定的记录,但它们是有差别的,rowid是和行记录的物理地址相应的.而rownum则不是,是通过返回的记录集 ...
- IOS系列——NStimer
Timer经常使用的一些东西 1. 初始化 timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@select ...