Mysql主从数据库配置

Mysql主从数据库实现流程:

第一步:master记录二进制日志。在每个事务更新数据完成之前,master在二进制日志记录这些改变。MySQL将事务写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提交事务。

第二步:slave将master的binary log拷贝到它自己的中继日志。首先,slave开始一个工作线程——I/O线程。I/O线程在master上打开一个普通的连接,然后开始binlog dump process。Binlog dump process从master的二进制日志中读取事件,如果已经执行完master产生的所有文件,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。

第三步:SQL slave thread(SQL从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并重新执行其中的事件而更新slave的数据,使其与master中的数据一致。


常见方案

1、One master and Muti salve 一主多备

一般用来做读写分离的,master写,其他slave读,这种架构最大问题I/O压力集中
在Master上<多台同步影响IO>

2、M-S-S
使用一台slave作为中继,分担Master的压力,slave中继需要开启bin-log,并配置log-slave-updates
Slave中继可使用Black-hole存储引擎,不会把数据存储到磁盘,只记录二进制日志

3、M-M 双主互备
很多人误以为这样可以做到MySQL负载均衡,实际什么没什么好处,每个服务器需要做同样的同步更新,破坏了事物的隔离性和数据的一致性

4、M-M-M
监控三台机器互相做对方的master
天生的缺陷:复制延迟,slave上同步要慢于master,如果大并发的情况那延迟更严重
Mysql在5.6已经自身可以实现fail over

5、One slave Muti master 一从对多主
好处:节省成本,将多个master数据自动化整合
缺陷:对库和表数据的修改较多


配置过程

主机 Master: 10.10.2.113
从机 Slave: 172.16.10.207
确定主从机中的mysql版本一致

Master:
建立database 以及表
建表

暂停mysql

service mysql stop

修改mysql配置文件

vim /etc/mysql/my.cnf

my.cnf
这里写图片描述

修改完后启动

service mysql start

对slave 进行登录授权

 Mysql> grant replication slave on *.* to test207@172.16.10.207 identified by “root”;

查看状态
这里写图片描述
file,position之后在slave中会用到

导出数据库 传送至slave

mysqldump -uroot -proot trydb>trydb.sql
scp trydb.sql root@172.16.10.207:/root/alpha

接下来是slave
测试是否连上master的mysql

mysql -utest207 -proot -h10.10.2.113

创建对应数据库 导入
这里写图片描述

mysql -uroot -p123456 trydb<trydb.sql

设置mysql 配置文件

vim /etc/mysql/my.cnf

这里写图片描述
从服务器ID号,不要和主ID相同 ,如果设置多个从服务器,每个从服务器必须有一个唯一的server-id值,必须与主服务器的以及其它从服务器的不相同。可以认为server-id值类似于IP地址:这些ID值能唯一识别复制服务器群集中的每个服务器实例。

Change master
这里写图片描述

查看slave状态 #my.cnf中server_id不能与master数据库中相同
这里写图片描述


测试

Master数据库插入
这里写图片描述

Slave查看
这里写图片描述

成功!

这里我用shell实现了主从数据库的配置:shell脚本实现Mysql主从数据库
可以对照着看看

参考:
http://blog.csdn.net/qq_25663723/article/details/53695695
http://blog.csdn.net/cug_jiang126com/article/details/46846031

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值