MySQL复制(二)Master-Slave复制实践
1. 准备工作
首先要准备2台机器,分别安装mysql
我这里的版本是5.1.73,mysql数据库安装请参考:http://www.cnblogs.com/tangyanbo/p/4289753.html
linux系统为centos
机器分别为:
Master: 192.168.1.227
Slave:192.168.1.225
场景:master和slave都是刚创建的数据库,即数据是一致的场景下
2. 配置复制
大致步骤如下:
1) 在每个服务器上创建一个复制账号
2) 配置Master和Slave
3) Slave连接Master开始复制
2.1 在Master上创建复制账号
在master上创建一个账号slave,密码slave,并赋予REPLICATION SLAVE权限
mysql>GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.225' IDENTIFIED BY 'slave';
2.2 配置Master
# vi /etc/my.cnf
确保mysqld下面有如下配置:
[mysqld] port = 3306 server-id = 1
log_bin = mysql-bin
socket = /tmp/mysql.sock skip-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M binlog_format=ROW log-slave-updates sync_binlog=1 auto_increment_increment=2 auto_increment_offset=1
server_id: 必须配置,且不能与slave的server_id相同
log_bin: 开启二进制日志
保存并退出,重启master
service mysqld restart
进入sql控制台,运行命令SHOW MASTER STATUS或者show master status\G

2.3 配置Slave
在Slave机器上
# vi /etc/my.cnf
[mysqld] port = 3306 server-id = 2 log_bin = mysql-bin relay_log = mysql-relay-bin
log_slave_updates = 1
read_only = 1
server_id: 必须配置,且不能与slave的server_id相同
log_bin: 开启二进制日志
relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自己的二进制日志(后面会看到它的用处)
保存并重启slave
2.4 开始复制
让slave连接master
mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.227',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=106;
注意红色部分
MASTER_LOG_FILE对应master的file
MASTER_LOG_POS对应master的Position
运行命令:mysql>show slave status\G

Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running表明slave还没有开始复制过程。日志的位置为4而不是0,这是因为0只是日志文件的开始位置,并不是日志位置。实际上,MySQL知道的第一个事件的位置是4。
开始复制,运行命令:mysql> START SLAVE;

Slave_IO_Running, 和Slave_SQL_Running都是yes,表示启动成功
在master上执行sql操作
mysql>use test; mysql>create table test1(id int,name varchar(20)); mysql>insert into test1 values(1,'2');
在slave上查看

说明复制成功了。
MySQL复制(二)Master-Slave复制实践的更多相关文章
- 8.Redis的复制(Master/Slave)
Redis的复制(Master/Slave) a)是什么 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave ...
- Redis(八):Redis的复制(Master/Slave)
Redis的复制(Master/Slave)目录导航: 是什么 能干嘛 怎么玩 复制原理 哨兵模式(sentinel) 复制的缺点 是什么 官网 行话:也就是我们所说的主从复制,主机数据更新后根据配置 ...
- Redis的master/slave复制
摘自:Redis的master/slave复制 Redis的master/slave数据复制方式可以是一主一从或者是一主多从的方式,Redis在master是非阻塞模式,也就是说在slave执行数据同 ...
- Redis的复制(Master/Slave)、主从复制、读写分离
1.什么是Redis的复制 行话:也就是我们所说的主从复制,主数据更新后根据配置和策略自动同步到备用机的master/slave机制,Mater以写为主,slave以读为主. 2.能干什么 2.1.读 ...
- Redis的复制(Master/Slave)、主从复制、读写分离 (下)
哨兵模式(就是反客为主的自动版) 能够自动监控主机是否故障,如果故障了根据投票数自动将从机变成主机 1创建哨兵文件 touch sentinel.conf [root@localhost myredi ...
- mysql 主从配置(master/slave)
1. 在每台服务器上创建复制账号(也可以只在master上创建用户,这里配置两个是为了方便以后切换) 备库运行的I/O县城需要建立一个到主库的TCP/IP连接,所以必须在主库创建一个用户,并赋予合适 ...
- Mysql主从数据库(master/slave),实现读写分离
在之前的一篇文章中,阐述了如何在高并发高负载的场景下使用nginx做后台服务的负载均衡:在阿里云Centos上配置nginx+uwsgi+负载均衡配置,但是不要以为这样做了就是一劳永逸的,到了数据业务 ...
- 在阿里云Centos7.6上面配置Mysql主从数据库(master/slave),实现读写分离
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_85 在之前的一篇文章中,阐述了如何在高并发高负载的场景下使用nginx做后台服务的负载均衡:在阿里云Centos上配置nginx+ ...
- MySQL下做Master/Slave同步,延迟太大怎么办?
slave的延迟是比较常见的,如果短暂的延迟后还能追上,一般就能接受了. 用innodb不是坏事,会减少一些slave中止的情况.如果是myisam的表,insert update delete操 ...
- 深入MySQL复制(二):基于GTID复制
相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...
随机推荐
- 存储树形的数据表转为Json
/// <summary> /// 根据DataTable生成Json树结构 /// </summary> /// <param name="tabel&quo ...
- 二维码之qrencode生成(带logo)
从github下载的qrencode没有QRCodeGenerator文件,需要引入 // // QR Code Generator - generates UIImage from NSString ...
- 浅谈JS中的!=、== 、!==、===的用法和区别
var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num ...
- The type org.springframework.jms.JmsException cannot be resolved报错解决
在调用JmsTemplate的send方法时,一直报编译时异常.如下: 异常提示是无法解析org.SpringFrawork.jms.JmsException类型.如下: The type org.s ...
- C#将Dll嵌入到EXE
感谢博主的方法: https://blog.csdn.net/lin381825673/article/details/39122257 我之前也看了网上的其他的方法试了都不行 第一种方法就是说用IL ...
- 左连接sql
<?php public function sumZong($id){ $sql =' SELECT * FROM vvt_league_user AS p Left join vvt_leag ...
- SpringMVC接受请求参数、
1. 接收请求参数 1.1. [不推荐]通过HttpServletRequest 在处理请求的方法中,添加HttpServletRequest对象作为参数,在方法体中,直接调用参数对象的getPara ...
- 移动端地区选择mobile-select-area插件的使用方法
顾名思义,mobile-select-area插件就是使用在移动端上的进行地区选择的插件,而且使用方法简单,我就说我是怎么用的吧 一.准备工作 首先肯定要下载插件对应的css+js文件, 当你下载好这 ...
- 管理DnS服务器知识点
DNS服务器是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主机的域名 ...
- 日历视图(CalendarView)
日历视图(Calendarview) 常用属性: android:selectedWeekBackgroundColor(设置被选中周的背景颜色) android:showWeekNumber(设置是 ...