mysql集群(主从)
本文主要记录mysql 主从配置。

经典的原理图
0、环境:
- 采用阿里云ECS服务器,同区同配置,操作系统为ubuntus 14 64位,服务器如下:
服务器A:
内网IP: 10.44.94.219
服务器B:
内网IP: 10.44.94.97
- 安装mysql环境,命令如下:
sudo apt-get update
sudo apt-get install mysql-server mysql-client
1 Master 配置:
- 创建复制账号:
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'10.44.94.97' IDENTIFIED BY 'fredric';
- 拷贝数据(若存在历史数据)
- 开启bin-log
在my.cnf文件[mysqld]标签下增加
log-bin=mysql-bin.log
server-id=97
#server-id 建议采用ip地址末尾
备注:若binlog目录指定在其他地方,需要修改文件夹权限
配置完重启mysql 服务:sudo /etc/init.d/mysql restart
进入后输入:SHOW MASTER STATUS
显示:
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 107 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
2 Slave 配置
- 开启复制日志
在my.cnf文件[mysqld] 标签下增加
log_bin = mysql-bin.log
server_id = 219
relay_log = mysql-relay-bin.log
log_slave_updates = 1 #Slave同步从Master同步数据过来的时候,log_slave_updates参数用来控制Slave是否把所有的操作写入到binary log
read_only = 1 #Slave为只读
- 配置Slave
CHANGE MASTER TO MASTER_HOST='10.44.94.219',
MASTER_USER='backup',
MASTER_PORT=3306,
MASTER_PASSWORD='fredric',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=107;
- 开启复制
START SLAVE;
输入:SHOW SLAVE STATUS\G; 显示:
Slave_IO_State: Waiting for master to send event
Master_Host: 10.44.94.219
Master_User: backup
Master_Port:
Connect_Retry:
Master_Log_File: mysql-bin.
Read_Master_Log_Pos:
Relay_Log_File: mysql-relay-bin.
Relay_Log_Pos:
Relay_Master_Log_File: mysql-bin.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
测试遇到的问题:
报错:Last_IO_Error: error connecting to master
SLAVE服务器无法通过局域网IP连接MASTER服务器的数据库,原因是mysql默认安装时只绑定127.0.0.1这个IP访问,因此要修改my.cnf注释掉其中的bind-address = 127.0.0.1
mysql集群(主从)的更多相关文章
- mysql 集群+主从同步
SQL节点: 给上层应用层提供sql访问. 管理节点(MGM): 管理整个集群. 启动,关闭集群. 通过ndb_mgmd命令启动集群 存储/数据节点: 保存cluster中的数据. 数据节点,可以 ...
- 关于mysql集群主从服务器搭建
在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢? ...
- LINUX学习-Mysql集群-主从服务器备份
一.Mysql主从集群备份. 1.准备两台主机 主服务器:192.168.88.20和从服务器:192.168.88.30 2.分别安装mysql yum -y -install mysql mysq ...
- Mysql集群搭建(多实例、主从)
1 MySQL多实例 一 .MySQL多实例介绍 1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307,3308),运行多个MySQL服务进程,通 ...
- MySql集群FAQ----mysql主从配置与集群区别、集群中需要多少台计算机呢?为什么? 等
抽取一部分显示在这里,如下, What's the difference in using Clustervs using replication? 在复制系统中,一个MySQL主服务器会更新一个或多 ...
- 京东分布式MySQL集群方案介绍
背景 数据库作为一个非常基础的系统,任何一家互联网公司都会使用,数据库产品也很多,有Oracle.SQL Server .MySQL.PostgeSQL.MariaDB等,像SQLServer/Ora ...
- 高可用性、负载均衡的mysql集群解决方案
高可用性.负载均衡的mysql集群解决方案 一.mysql的市场占有率 二.mysql为什么受到如此的欢迎 三.mysql数据库系统的优缺点 四.网络服务器的需求 五.什么是mysql的集群 六.什么 ...
- 浅谈mysql集群
一.什么是MySQL集群 MySQL集群是一个无共享的(shared-nothing).分布式节点架构的存储方案,其目的是提供容错性和高性能. 数据更新使用读已提交隔离级别(read-committe ...
- 分布式MySQL集群方案的探索与思考
转载:http://www.infoq.com/cn/articles/exploration-of-distributed-mysql-cluster-scheme?utm_campaign=rig ...
- MySQL集群(一)之主从复制
前面学完了JDBC,接下来带大家感受一下MySQL集群!其实什么是MySQL集群?简单的说就是一群机器(服务器)的集合,它们连在一起来工作. 其实各种数据库都有自己的集群,常常的多: 我们要学习的就是 ...
随机推荐
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- 【.net 深呼吸】限制执行代码的权限
前面好几篇文章,老周都跟大伙伴们聊了跟应用程序域有关的话题,干脆咱们一聊到底吧,做学问就应该这样,有恒心. App Domain的创建新应用程序域的方法中,有一个特殊的重载: public stati ...
- History API与浏览器历史堆栈管理
移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构.传统的单页应用基于url的hash值进行路由,这种实现不存在兼容性问题,但是缺点也有--针对不支持o ...
- Twproject Gantt开源甘特图功能扩展
1.Twproject Gantt甘特图介绍 Twproject Gantt 是一款基于 jQuery 开发的甘特图组件,也可以创建其它图表,例如任务树(Task Trees).内置编辑.缩放和 CS ...
- .NET应用程序域
在.NET平台下,可执行程序并没有直接承载在Windows进程中,而非托管程序是直接承载的..NET可执行程序承载在进程的一个逻辑分区中,称之为应用程序域(AppDomain).一个进程可以包含多个应 ...
- thinkphp数据的查询和截取
public function NewsList(){ $this->assign('title','news'); $p = I('page',1); $listRows = 6; $News ...
- Java中常用集合操作
一.Map 名值对存储的. 常用派生类HashMap类 添加: put(key,value)往集合里添加数据 删除: clear()删除所有 remove(key)清除单个,根据k来找 获取: siz ...
- 用Kotlin创建第一个Android项目(KAD 01)
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...
- Maven(一)linux下安装
1.检查是否安装JDK,并且设置了环境变量(JAVA_HOME): echo $JAVA_HOME java -version 运行结果: 显示jdk的安装路径,和java的版本,如: #jdk路径 ...
- 一个简单的网站web项目的详解
有不对的术语,或者不好理解的部分,欢迎大家批评指正,谢谢大家! 近期做的网站web项目,实现登录功能,查询功能.首先把这个项目分为几个模块来处理,当前用户模块,历史用户模块,历史记录模块,数据库模块, ...