xml地图|网站地图|网站标签 [设为首页] [加入收藏]

教程详解,主从复制的配置方法

来源:http://www.ccidsi.com 作者:呼叫中心培训课程 人气:93 发布时间:2019-08-01
摘要:MySQL帮助单向、异步复制,复制进程中三个服务器充当主服务器,而二个或多少个别的服务器充当从服务器 。主服务器将立异写入二进制日志文件,并维护日志文件的二个目录以跟踪日

MySQL帮助单向、异步复制,复制进程中三个服务器充当主服务器,而二个或多少个别的服务器充当从服务器。主服务器将立异写入二进制日志文件,并维 护日志文件的二个目录以跟踪日志循环。当一个从服务器连接到主服务器时,它公告主服务器从服务器在日记中读取的最终叁次得逞更新的地点。从服务器收到从那时起爆发的其余更新,然后封锁并等待主服务器文告下贰次革新。

mysql数据库 主从复制的安排格局,mysql主从

MySQL帮衬单向、异步复制,复制进度中八个服务器充当主服务器,而三个或多个其余服务器充当从服务器。主服务器将履新写入二进制日志文件,并维 护日志文件的二个目录以追踪日志循环。当四个从服务器连接到主服务器时,它文告主服务器从服务器在日记中读取的末梢贰遍得逞更新的地点。从服务器收到从那时起发生的别样更新,然后封锁并等待主服务器文告下三遍立异。

干什么选取主从复制?

1、主服务器/从服务器设置扩大了健壮性。主服务器现身难题时,你可以切换来从服务器作为备份。

2、通过在主服务器和从服务器之间切分处理客户询问的负荷,能够得到越来越好的客户响应时间。不过不要同有的时候间在着力服务器上进行更新,那样可能滋生争论。

3、使用复制的另四个功利是足以选择三个从服务器实行备份,而不会苦恼主服务器。在备份进程中主服务器能够接二连三管理更新。

MySQL 使用3个线程来推行复制作而成效(当中1个在主服务器上,另三个在从服务器上。当发出START SLAVE时,从服务器创造八个I/O线程,以连接主服务器并让主服务器发送二进制日志。主服务器创设一个线程将二进制日志中的内容发送到从服务器。从服 务器I/O线程读取主服务器Binlog Dump线程发送的开始和结果并将该数据拷贝到从服务器数据目录中的当麻芋果件中,即中继日志。第一个线程是SQL线程,从服务器使用此线程读取中继日志并实行日志中含有的革新。SHOW PROCESSLIST语句能够查询在主服务器上和从服务器上发生的有关复制的音信。

暗许中继日志使用 host_name-relay-bin.nnnnnn情势的文本名,个中host_name是从服务器主机名,nnnnnn是序列号。用三番两次连串号来成立连续连接日志文件,从000001初阶。从服务器追踪中继日志索引文件来识别近日正利用的接入日志。私下认可中继日志索引文件名字为host_name-relay-bin.index。在私下认可意况,那些文件在从服务器的多寡目录中被创立。中继日志与二进制日志的格式同样,并且能够用 mysqlbinlog读取。当SQL线程推行完全中学继日志中的全部事件后,中继日志将会被自动删除。

从服务器在多少目录中其他创立三个景况文件--master.info和relay-log.info。状态文件保留在硬盘上,从服务器关闭时不会甩掉。后一次从服务器运转时,读取这几个文件以分明它已经从主服务器读取了多少二进制日志,以及管理本人的连片日志的水平。

1.配置主服务器 

打开mysql的配置 

vim/usr/local/webserver/mysql/my.cnf 

开启server_id和bin-log日志  

server_id = '唯一值'(开启server_id) 

log-bin = /data/mysql/3306/binlog/binlog 

2. 配备从劳动器  

打开mysql的配置 

 vim /usr/local/webserver/mysql/my.cnf 

开启server_id和bin-log日志   

server_id = '唯一值'(开启server_id)   

log-bin = /data/mysql/3306/binlog/binlog  

修改完配置后回想重启数据库 service mysqld restart  

关键点:从数据库中务必有贰个用户能够在从数据库的机器上去连接主服务器

3.在主数据库中给从数据库四个用户  

进入mysql /usr/local/webserver/mysql/bin/mysql -p 密码  

mysql> grant all on *.* to 用户@从数据库的ip identified by '密码';  

flush privileges;刷新权限  

在主数据库中查阅 show master status;主数据库的新颖的bin-log日志文件名 

4.跻身从数据库,实施上边的sql语句  

自己斟酌从数据库是还是不是能够进去  

mysql /usr/local/webserver/mysql/bin/mysql -u

主数据库给的用户 -p 密码 -h主数据库的ip ,假诺能够踏向,则脱离 

mysql /usr/local/webserver/mysql/bin/mysql -u

密码 

特意,在推行change从前务必关闭从库 stop slave;

mysql> change master to master_host='主数据库ip',master_user='主数据库授权的用户名',master_password='主数据库授权的密码',master_log_file='主数据库的bin-log日志的文书名',master_log_pos='主数据库的bin-log日志的position值' 

5.敞开从库 start slave; 

6.翻看从库状态 show slave statusG; 

change master to master_host='101.200.136.226',master_user='zt',master_password='zt',master_log_file=' binlog.000001 ',master_log_pos=4826; 

如果   
   Slave_IO_Running: Yes 
   Slave_SQL_Running: Yes      

  OK没问题  

中央配置实现 

binlog命令 

/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001

查看binlog日志文件 

reset master 初始化binlog日志 

show master status; 查看最新的日志文件和position值 

flush logs 刷新log日志文件 

start slave 开启从库 

stop slave  甘休从库 

show slave status;查看从库状态 

由此binlog日志苏醒数据 

进入binlog目录

cd /data/mysql/3306/binlog/ 

查看binlog列表 ls 

查看binlog日志文件

/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001 

东山再起数据

 /usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001 | /usr/local/webserver/mysql/bin/mysql -p(在未有清空binlog日志从前可以回复) 

假定实施了 reset master 就不可能恢复生机

如上正是对 mysql 数据库 主从复制的布置资料整理,开拓数据库须求的相爱的人能够看下。

主从复制的配备格局,mysql主从 MySQL协理单向、异步复制,复制进度中一个服务器充当主服务器,而三个或两个别的服务器充当...

MySQL5.7.18主从复制搭建(一主一从)教程详解,mysql5.7.18一从

一、复制原理

主服务器将立异写入二进制日志文件,并维护文件的二个目录以追踪日志循环。这一个日记能够记下发送到从服务器的更新.当多少个从服务器连接主服务器时,它通告主服务器从服务器在日记中读取的末段二回成功更新的职务。从服务器收到从那时起爆发的其余更新,然后封锁并等待主服务器公告新的翻新。

MySQL使用3个线程来实践复制作而成效(在那之中1个在主服务器上,另多少个在从服务器上。当发出START SLAVE时,从服务器成立二个I/O线程,以连接主服务器并让它发送记录在那些进制日志中的语句。主服务器创立二个线程将二进制日志中的内容发送到从服务器。

该线程为主服务器上的Binlog Dump线程。从服务器I/O线程读取主服务器Binlog Dump线程发送的内容并将该多少拷贝到从服务器数据目录中的当麻芋果件中,即中继日志。第一个线程是SQL线程,是从服务器创制用于读取中继日志并实行日志中隐含的翻新。

二、服务器希图

操作系统版本:Red Hat Enterprise Linux Server release 6.7 (Santiago)

Master(主)            ip:172.16.115.245  主机名称:mysql2    server_id:245 

Slave(从)             ip:172.16.115.247  主机名称:mysql3    server_id:247

主干服务器上都已安装MySQL5.7.18

三、主从复制施行细节

1.主服务器上为服务器设置二个接连账户并授予REPLICATION SLAVE权限。

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY '[email protected]';

2.修改master配置文件my.cnf

server-id = 245
log_bin = /data/mysqllog/3306/bin_log/binlog

那几个值必须安装,设置好之后,重启MySQL。

3.备份master上一份完整的数码

mysqldump -uroot -p'密码' --master-data=2 --single-transaction -R --triggers -A > /backup/all.sql

说明:

--master-data=2代表备份时刻记录master的Binlog地方和Position
--single-transaction意思是得到一致性快速照相
-奥迪Q5意思是备份存款和储蓄进度和函数
--triggres的意味是备份触发器
澳门皇家赌场,-A表示备份全体的库

4.查看主库备份时的binlog名称和地点

SHOW MASTER STATUS;
mysql> SHOW MASTER STATUS;
 --------------- ---------- -------------- ------------------ ------------------- 
| File     | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
 --------------- ---------- -------------- ------------------ ------------------- 
| binlog.000004 | 79394496 |       |         |          |
 --------------- ---------- -------------- ------------------ ------------------- 

抑或到刚刚备份的数据库文件中看:vi all.sql

5.修改slave库配置文件my.cnf

server-id = 247 (唯一,不能与主库一样,一般设为服务器IP后3位)
log_bin = /data/mysql/logdir/3306/bin_log/binlog
innodb_file_per_table = ON
skip_name_resolve = ON
relay_log = /data/mysql/logdir/3306/relay_log/relay.log
binlog-format = row
log-slave-updates = true

read_only=ON   (只读格局)

安装完事后,重启MySQL。

6.在slave服务器上苏醒master备份

mysql -u root -p'密码' < all.sql

7.安歇从库,并布署中央参数,打开从库。

mysql> stop slave; #暂停从库
mysql>CHANGE MASTER TO MASTER_HOST='172.16.115.245',MASTER_USER='repl', MASTER_PASSWORD='[email protected]',MASTER_LOG_FILE='binlog.000004',MASTER_LOG_POS=154;
mysql> start slave; #启动复制
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.115.245
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: binlog.000004
Read_Master_Log_Pos: 104634190
Relay_Log_File: relay.000003
Relay_Log_Pos: 104632819
Relay_Master_Log_File: binlog.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: 
Replicate_Ignore_DB: 
Replicate_Do_Table: 
Replicate_Ignore_Table: 
Replicate_Wild_Do_Table: 
Replicate_Wild_Ignore_Table: 
Last_Errno: 0
Last_Error: 
Skip_Counter: 0
Exec_Master_Log_Pos: 104634190
Relay_Log_Space: 104634713
Until_Condition: None
Until_Log_File: 
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File: 
Master_SSL_CA_Path: 
Master_SSL_Cert: 
Master_SSL_Cipher: 
Master_SSL_Key: 
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error: 
Last_SQL_Errno: 0
Last_SQL_Error: 
Replicate_Ignore_Server_Ids: 
Master_Server_Id: 245
Master_UUID: 4f545573-3170-11e7-b903-000c29462d8c
Master_Info_File: /data/mysql/datadir/3306/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind: 
Last_IO_Error_Timestamp: 
Last_SQL_Error_Timestamp: 
Master_SSL_Crl: 
Master_SSL_Crlpath: 
Retrieved_Gtid_Set: 
Executed_Gtid_Set: 
Auto_Position: 0
Replicate_Rewrite_DB: 
Channel_Name: 
Master_TLS_Version: 

8.查看master、slave相关进程

master Binlog Dump线程:

mysql> SHOW PROCESSLIST G
*************************** 1. row ***************************
Id: 13
User: repl
Host: 172.16.115.247:44602
db: NULL
Command: Binlog Dump
Time: 76514
State: Master has sent all binlog to slave; waiting for more updates
Info: NULL

slave IO/SQL线程:

mysql> SHOW PROCESSLIST G
*************************** 1. row ***************************
Id: 10
User: system user
Host: 
db: NULL
Command: Connect
Time: 81148
State: Waiting for master to send event
Info: NULL
*************************** 2. row ***************************
Id: 12
User: system user
Host: 
db: NULL
Command: Connect
Time: 5
State: Reading event from the relay log
Info: NULL

9.至此,主从配置已经达成,可以到master服务器上开创数据库、表等操作,看slave数据库是还是不是同步!

总结

如上所述是小编给大家介绍的MySQL5.7.18主从复制搭建(一主一从)教程详解,希望对大家享有协助,即使大家有其余难点招待给自个儿留言,作者会及时回复大家的!

一、复制原理 主服务器将立异写入二进制日志文件,并保养文件的一个目录以跟...

为什么使用主从复制?

1、主服务器/从服务器设置增添了健壮性。主服务器出现难题时,你能够切换来从服务器作为备份。

2、通过在主服务器和从服务器之间切分管理客户询问的载荷,能够收获更加好的客户响应时间。可是绝不一致期在着力服务器上实行更新,那样或者引起争持。

3、使用复制的另一个低价是足以选取三个从服务器实践备份,而不会困扰主服务器。在备份进度中主服务器能够承接管理更新。

MySQL 使用3个线程来施行复制作用(在那之中1个在主服务器上,另五个在从服务器上。当发出START SLAVE时,从服务器创立一个I/O线程,以连接主服务器并让主服务器发送二进制日志。主服务器创造贰个线程将二进制日志中的内容发送到从服务器。从服 务器I/O线程读取主服务器Binlog Dump线程发送的剧情并将该数量拷贝到从服务器数据目录中的当和姑件中,即中继日志。第四个线程是SQL线程,从服务器使用此线程读取中继日志并实行日志中隐含的创新。SHOW PROCESSLIST语句能够查询在主服务器上和从服务器上产生的关于复制的音讯。

私下认可中继日志使用 host_name-relay-bin.nnnnnn方式的文本名,当中host_name是从服务器主机名,nnnnnn是类别号。用三番两次类别号来创设一连连接日志文件,从000001开头。从服务器追踪中继日志索引文件来识别方今正采纳的对接日志。暗中同意中继日志索引文件名称为host_name-relay-bin.index。在暗中认可意况,那几个文件在从服务器的多寡目录中被创制。中继日志与二进制日志的格式一样,何况能够用 mysqlbinlog读取。当SQL线程实行完全中学继日志中的全体事件后,中继日志将会被机关删除。

从服务器在数额目录中其余成立多少个状态文件--master.info和relay-log.info。状态文件保留在硬盘上,从服务器关闭时不会放任。后一次从服务器运营时,读取那个文件以分明它曾经从主服务器读取了有一点二进制日志,以及管理本人的接入日志的品位。

1.配置主服务器 

打开mysql的配置 

vim/usr/local/webserver/mysql/my.cnf 

开启server_id和bin-log日志  

server_id = '唯一值'(开启server_id) 

log-bin = /data/mysql/3306/binlog/binlog 

2. 布局从服务器  

打开mysql的配置 

 vim /usr/local/webserver/mysql/my.cnf 

开启server_id和bin-log日志   

server_id = '唯一值'(开启server_id)   

log-bin = /data/mysql/3306/binlog/binlog  

修改完配置后记得重启数据库 service mysqld restart  

本文由68399皇家赌场发布于呼叫中心培训课程,转载请注明出处:教程详解,主从复制的配置方法

关键词: 68399皇家赌场

最火资讯