mysql主从备份 mysql主从备份57
大家好,今日小栢来为大家解答以上的问题。mysql主从备份,mysql主从备份5.7很多人还不知道,现在让我们一起来看看吧!
mysql主从备份 mysql主从备份57
mysql主从备份 mysql主从备份57
1、pv 一、 概述[mysqld] MySQL从3.23.15版本以后提供数据库(replication)功能,利用该功能可以实现两个数据库同步、主从模式、互相备份模式的功能。
2、本文档主要阐述了如何在linux系统中利用mysql的replication进行双机热备的配置。
3、二、 环境作系统:Linux 2.6.23.1-42.fc8 # SMP(不安装XEN)Mysql版本:5.0.45-4.fc8设备环境:PC(或者虚拟机)两台三、 配置数据库同步功能的设置都在MySQL的配置文件中体现,MySQL的配置文件(一般是myf):在本环境下为/etc/myf。
4、3.1 设置环境:IP的设置:A主机 IP:10.10.0.119Mask:255.255.0.0B主机 IP:10.10.8.112Mask:255.255.0.0在IP设置完成以后,需要确定两主机的防火墙确实已经关闭。
5、可以使用命令serv iptables status查看防火墙状态。
6、如果防火墙状态为仍在运行。
7、使用serv iptables stop来停用防火墙。
8、如果想启动关闭防火墙,可以使用setup命令来禁用或定制。
9、最终以两台主机可以相互ping通为佳。
10、3.2 配置A主() B从(sle)模式3.2.1 配置A 为、增加一个用户同步使用的帐号:GRANT FILE ON . TO ‘backup’@'10.10.8.112' IDENTIFIED BY ‘1234’;赋予10.10.8.112也就是Sle机器有File权限,只赋予Sle机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。
11、、增加一个数据库作为同步数据库:create database test;、创建一个表结构:create table mytest (username varchar(20),password varchar(20));、修改配置文件:修改A的/etc/myf文件,在myf配置项中加入下面配置:server-id = 1 #标识log-binbinlog-do-db=test #指定需要日志的数据库、重起数据库服务:serv mysqld restart查看server-id:show variable like ‘server_id’;实例:mysql> show variables like 'server_id';+---------------+-------+| Variable_name | Value |+---------------+-------+| server_id | 1 |+---------------+-------+1 row in set (0.00 sec)、用show status/G命令看日志情况。
12、mysql> show status/G 1. row File: mysqld-bin.000002Position: 198Binlog_Do_DB: test,testBinlog_Ignore_DB:1 row in set (0.08 sec)3.2.2 配置B 为sle、增加一个数据库作为同步数据库:create database test;、创建一个表结构:create table mytest (username varchar(20),password varchar(20));、修改配置文件:修改B的/etc/myf文件,在myf配置项中加入下面配置:-host=10.10. 0.119-user=backup #同步用户帐号-password=1234-port=3306-connect-retry=60 #预设重试间隔秒replicate-do-db=test #告诉sle只做backup数据库的更新、重起数据库服务:serv mysqld restart查看server-id:show variables like ‘server_id’;实例:mysql> show variables like 'server_id';+---------------+-------+| Variable_name | Value |+---------------+-------+| server_id | 2 |+---------------+-------+1 row in set (0.00 sec)、用show sle status/G命令看日志情况。
13、 1. row Sle_IO_State: Waiting for to send ntMaster_User: backupMaster_Port: 3306Connect_Retry: 60Read_Master_Log_Pos: 98Relay_Log_File: mysqld-relay-bin.000003Relay_Log_Pos: 236Relay_Master_Log_File: mysqld-bin.000001Sle_IO_Running: YesSle_SQL_Running: YesReplicate_Do_DB: test,testReplicate_Ignore_DB:Replicate_Do_Table:Replicate_Ignore_Table:Replicate_Wild_Do_Table:Last_Error:Exec_Master_Log_Pos: 98Relay_Log_Space: 236Until_Condition: NoneUntil_Log_File:Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File:Master_SSL_CA_Path:Master_SSL_Cert:Master_SSL_Cipher:Seconds_Behind_Master: 01 row in set (0.01 sec)3.2.3 验证配置分别使用insert, delete , update在A主机进行增删改查数据库;查看B主机的数据库是否与A主机一致;若一致,则配置成功。
14、3.3双机互备模式如果在A主机加入sle设置,在B主机加入设置,则可以做B->A的同步。
15、、在A主机的配置文件中 mysqld配置项加入以下设置:-user=backup-password=1234replicate-do-db=test-connect-retry=10、在B的配置文件中 mysqld配置项加入以下设置:log-binbinlog-do-db=test注意:当有错误产生时,.err日志文件同步的线程退出,当纠正错误后,要让同步机制进行工作,运行sle start。
16、重起A、B机器,则可以实现双向的热备份。
17、四、 常见问题及解决、Sle机器的权限问题,不但要给sle机器File权限,还要给它REPLICATION SLAVE的权限。
18、、在修改完Sle机器/etc/myf之后,sle机器的mysql服务启动之前,记得要删除掉.、在show status或着show sle status不正常时,看看.err是怎样说的。
19、、Sle上Mysql的Replication工作有两个线程, I/O thread和SQL thread。
20、I/O的作用是从 3306端口上把它的binlog取过来(在被修改了任何内容之后,就会把修改了什么写到自己的binlog等待sle更新),然后写到本地的relay-log,而SQL thread则是去读本地的relay-log,再把它转换成本Mysql所能理解的语句,于是同步就这样一步一步的完成.决定I/O thread的是/var/lib/mysql/.,而决定SQL thread的是/var/lib/mysql/relay-log..、启动sle,命令用start sle;重新启动用restart sle。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。