注册用户享全站资源 并成为粉丝 不定时福利发放
合作广告

合作广告

最大优惠

人事面试

人事面试

套路太深

面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背...

部分企业人事部收到求职者简历后,会预先进行一轮电话面试,来考察求职者的综合素质,因此了解懂得求职面试的基本技巧,将...

1、着装要适当  穿着不一定要名贵,但一定要合体、干净、整洁,而且颜色和图案的搭配一定要协调。鞋子应该是舒服而又引...

一、隐瞒真实个人资料的不诚实者简历是求职的第一步,只有面试官对你的简历有兴趣才会通知你面试。在简历中适当地突出个人...

一、首先你得已经成为公司里“最好”的程序员,或者你已经找不到可作为老师和导师的人关于这一点,很多人都会过度自信,所...

程序人生

程序人生

技术的另一面

女程序员这一物种是稀有物种,茫茫软件工程系,放眼望去满眼尽收“屌丝男士”。零星几只女性就显得尤为珍贵。这里有只女程...

你是否曾经遇到过这样的情况:你已经有了一个好主意,比如开发一个在线商店,制作一个应用等等,但是却只缺一个程序员,能...

在北京四环路西北部的中关村,聚集了这座城市最多的科技企业和最优秀的技术人员,因为腾讯、字节跳动等互联网巨头坐落于此...

作者 : 何俊林 王小波在《黄金时代》里写道,“那一天我二十一岁,在我一生的黄金时代。我有好多奢望。我想爱,想吃,...

在Stack Overflow上有这样的一个贴子《What’s your most controversial p...

程序员段子

程序员段子

乐一乐

皇上太拼了......  被电视剧蒙骗了好多年,三观毁灭!  这是传说中“帅气的王爷”与“美腻的王妃”,像不像屠夫...

足够自信的程序猿自信是通往成功路上的指明灯,自信的程序员更是加班夜里的探照灯,总能让BUG无所遁形。效率高的程序猿...

最近这段时间,小编絮絮叨叨说了很多严肃的东西,今天说点好玩的,轻松一下。娱乐圈有潜规则,小编认为IT圈一样,也有潜...

今天来说说一位女青年的老公以及他们的事儿。如有雷同,纯属巧合。十一年前我和程序猿第一次见面,还是大一军训期间。我甚...

公司高层公司副总A:咱们开个会研究一下这个事情怎么处理。公司副总B:如果老板没有救成功,下任是谁呢?会不会影响公司...

副标题

MySQL主从复制配置

发表时间:2018-11-30 09:50

摘要:复制原理:Mysql中有一种日志叫做bin日志(二进制日志)。这个日志会记录下所有修改了数据库的SQL语句(INSERT,UPDATE,DELETE,ALTER TABLE,GRANT等等)。主从复制...

复制原理:

Mysql中有一种日志叫做bin日志(二进制日志)。这个日志会记录下所有修改了数据库的SQL语句(INSERT,UPDATE,DELETE,ALTER TABLE,GRANT等等)。

主从复制的原理其实就是

主服务器将改变记录到二进制日志(binlog)中,从服务器将主服务器的binlog拷贝到它的中继日志(relaylog),然后重做中继日志中的事件,在本服务器上执行一遍,这样从服务器上的数据就和主服务器上的数据相同了。

环境说明:

两台服务器,192.168.1.1(当做master),192.168.1.2(当做slave)

一、配置二进制日志文件:

在master服务器上:

1:编辑主节点配置文件

vim /etc/my.cnf

2.启用二进制日志文件,添加以下配置

server-id = 1
log-bin = mysql-bin
binlog-format = mixed

server-id = 1  //给服务器起一个独特的ID

log-bin = mysql-bin  //声明 二进制日志文件为 mysql-bin.XXXX

binlog-format = mixed  //设置二进制复制模式,可选值有(mixed/statement/row)

在slave服务器上:

1:编辑主节点配置文件

vim /etc/my.cnf

2.启用二进制日志文件,添加以下配置

server-id = 2
log-bin = mysql-bin
binlog-format = mixed
relay-log = relay-log


server-id = 2  //给服务器起一个独特的ID

log-bin = mysql-bin  //声明 二进制日志文件为 mysql-bin.XXXX

binlog-format = mixed  //设置二进制复制模式,可选值有(mixed/statement/row)

relay-log = relay-log  //声明 relay-log日志文件为 relay-log.XXXX

3重启mysql:

service mysqld start

二、建立主从连接

1、在master的数据库中建立一个备份帐户:每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE权限。用户名的密码都会存储在文本文件master.info中,命令如下:

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO backup@'192.168.1.2' IDENTIFIED BY '1234';

说明:建立一个帐户backup,并且只能允许从192.168.1.2这个地址上来登陆,密码是1234。

主服务器配置完成.

注意:确保主服务器的iptables没有阻断3306的访问端口。


2.在slave服务器上执行以下命令,连接master服务器:

CHANGE MASTER TO MASTER_HOST='192.168.1.1',
MASTER_USER='backup',MASTER_PASSWORD='1234',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=4;

说明:MASTER_LOG_FILE是指定读取主服务器的哪个binlog日志文件,MASTER_LOG_POS是指定从该日志的哪个位置开始读,这两个选项要从master服务器上运行命令:SHOW MASTER STATUS; 查看

查看slave的设置是否正确:

SHOW SLAVE STATUS
Slave_IO_State:
Master_Host: server1
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 4
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: No
 ...omitted...
Seconds_Behind_Master: NULL

Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running是No,表明slave还没有开始复制过程。

在slave上启动复制线程 :

START SLAVE;

可以运行 SHOW SLAVE STATUS 查看输出结果:

Slave_IO_State: Waiting for master to send event
Master_Host: server1
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 164
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 164
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...omitted...
Seconds_Behind_Master: 0

当看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明状态正常。

至此,mysql的主从复制配置完成。

3.实际测试

登录192.168.1.1主MySQL,添加一张数据表,并添加数据,然后登陆192.168.1.2从MySQL,发现刚才新建的表和数据都出现了,主从复制的配置就是如此的简单。


Java帮帮公众号生态

Java帮帮公众号生态

总有一款适合你

Java帮帮-微信公众号

Java帮帮-微信公众号

将分享做到极致

Python帮帮-公众号

Python帮帮-公众号

人工智能,爬虫,学习教程

大数据驿站-微信公众号

大数据驿站-微信公众号

一起在数据中成长

九点编程-公众号

九点编程-公众号

深夜九点学编程

程序员服务区-公众号

程序员服务区-公众号

吃喝玩乐,听学吐画

Java帮帮学习群生态

Java帮帮学习群生态

总有一款能帮到你

Java学习群

Java学习群

与大牛一起交流

大数据学习群

大数据学习群

在数据中成长

九点编程学习群

九点编程学习群

深夜九点学编程

python学习群

python学习群

人工智能,爬虫

测试学习群

测试学习群

感受测试的魅力

Java帮帮生态承诺

Java帮帮生态承诺

一直坚守,不负重望

初心
勤俭
诚信
正义
分享
合作品牌 非盈利生态-优质内容分享传播者
关于我们
友链申请
友链交换:加帮主QQ2524138991 留言即可 24小时内答复  
全站内容非商业用途,内容来源于网友,并遵循 CC BY-NC 4.0 许可,如有异议请联系客服。
会员登录
获取验证码
登录
登录
我的资料
留言
回到顶部