主机MySQL数据库两台主机同步实战--.doc

mysql主机  时间:2021-01-04  阅读:()

MySQL数据库两台主机同步实战>>

MySQL支持单向、异步复制复制过程中一个服务器充当主服务器而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件并维护日志文件的一个索引以跟踪日志循环。

当一个从服务器连接到主服务器时它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新然后封锁并等待主服务器通知下一次更新。

在实际项目中两台分布于异地的主机上安装有MySQL数据库两台服务器互为主备客户要求当其中一台机器出现故障时另外一台能够接管服务器上的应用这就需要两台数据库的数据要实时保持一致在这里使用MySQL的同步功能实现双机的同步复制。

以下是操作实例

1、数据库同步设置

主机操作系统 RedHat Enterprise Linux 5

数据库版本MySQL Ver 14.12 Distrib 5.0.22

前提MySQL数据库正常启动

假设两台主机地址分别为

S ervA 10.240.136.9

S ervB 10.240.136.149

1.1配置同步账号

在S ervA上增加一个S ervB可以登录的帐号

MySQL>GRANT all privileges ON *.* TO tongbu'10.240.136.149' IDENTIFIED BY '123456';

在S ervB上增加一个S ervA可以登录的帐号

MySQL>GRANT all privileges ON *.* TO tongbu'10.240.136.9' IDENTIFIED BY '123456';

1.2配置数据库参数

1、 以ro ot用户登录S ervA修改S ervA的my.f文件v i /etc/my.f

在[MyS QLd]的配置项中增加如下配置

1 default-character-set=utf8

2

3 log-bin=MySQL-bin

4

5 relay-log=relay-bin

6

7 relay-log-index=relay-bin-index

8

9 server-id=1

10

11 master-host=10.240.136.149

12

13 master-user=tongbu

14

15 master-passaster-port=3306

18

19 master-connect-retry=30

20

21 binlog-do-db=umsdb

22

23 replicate-do-db=umsdb

24

25 replicate-ignore-tab le=umsdb.boco_tb_menu

26

27 replicate-ignore-table=umsdb.boco_tb_connect_log

28

29 replicate-ignore-tab le=umsdb.boco_tb_data_stat

30

31 replicate-ignore-table=umsdb.boco_tb_log_record

32

33 replicate-ignore-table=umsdb.boco_tb_y.f文件v i /etc/my.f

在[MyS QLd]的配置项中增加如下配置

1 default-character-set=utf8

2

3 log-bin=MySQL-bin

4

5 relay-log=relay-bin

6

7 relay-log-index=relay-bin-index

8

9 server-id=2

10

11 master-host=10.240.136.9

12

13 master-user=tongbu

14

15 master-passaster-port=3306

18

19 master-connect-retry=30

20

21 binlog-do-db=umsdb

22

23 replicate-do-db=umsdb

24

25 replicate-ignore-tab le=umsdb.boco_tb_menu

26

27 replicate-ignore-table=umsdb.boco_tb_connect_log

28

29 replicate-ignore-tab le=umsdb.boco_tb_data_stat

30

31 replicate-ignore-table=umsdb.boco_tb_log_record

32

33 replicate-ignore-tab le=umsdb.boco_tb_ master;

MySQL> start slave;

在S ervA上重启MyS QL

123下一页>>>>这篇文章来自. .  。 service MySQLd restart

1.4查看数据库同步状态

在MySQL命令提示符下执行

MySQL> shoaster to send event

4

5 Master_Host: 10.21.2.90

6

7 Master_User: tongbu

8

9 Master_Port: 3306

10

11 Connect_Retry: 30

12

13 Master_Log_File: localhost-bin.000005

14

15 Read_Master_Log_Pos: 39753882

16

17 Relay_Log_File: localhost-relay-bin.000062

18

19 Relay_Log_Pos: 9826663

20

21 Relay_Master_Log_File: localhost-bin.000005

22

23 Slave_IO_Running: Yes

24

25 Slave_SQL_Running: Yes

26

27 Replicate_Do_DB: bak,umsdb

28

29 Replicate_Ignore_DB:

30

31 Replicate_Do_Table:

32

33 Replicate_Ignore_Table:umsdb.boco_tb_connect_log,umsdb.boco_tb_menu,umsdb.boco_tb_sdb.b oco_tb_data_stat,umsdb.boco_tb_log_record

34

35 Replicate_aster_Log_Pos: 39753882

46

47 Relay_Log_Space: 9826663

48

49 Until_Condition: None

50

51 Until_Log_File:

52

53 Until_Log_Pos: 0

54

55 Master_SSL_Alloeout=seconds

参数含义 当s lave从主数据库读取lo g数据失败后等待多久重新建立连接并获取数据。

于是在配置文件中增加该参数设置为60秒s lave--timeout=60

重启MySQL数据库后测试该问题解决。

4、 数据库同步失效的解决

当数据同步进程失效后首先手工检查s lave主机当前备份的数据库日志文件在master主机上是否存在在s lave主机上运行MySQL> shoaster to send event

4

5 Master_Host: 10.21.3.240

6

7 Master_User: tongbu

8

9 Master_Port: 3306

10

11 Connect_Retry: 30

12

13 Master_Log_File: MySQL-bin.000001

14

15 Read_Master_Log_Pos: 360

16

17 Relay_Log_File: localhost-relay-bin.000003

18

19 Relay_Log_Pos: 497

20

21 Relay_Master_Log_File:

上一页123下一页>>>>这篇文章来自..  。MySQL-bin.000001

22

23 Slave_IO_Running: Yes

24

25 Slave_SQL_Running: Yes

26

27 Replicate_Do_DB: bak

28

29 Replicate_Ignore_DB:

30

31 Replicate_Do_Table:

32

33 Replicate_Ignore_Table:

34

35 Replicate_aster_Log_Pos: 360

46

47 Relay_Log_Space: 497

48

49 Until_Condition: None

51 Until_Log_File:

52

53 Until_Log_Pos: 0

54

55 Master_SSL_Alloaster主机上的日志文件。

在mas ter上检查当前的数据库列表

MySQL> shoaster logs;

得到的日志列表如下

+----------------------+-----------+

|Lo g_name|F ile_s ize |

+----------------------+-----------+

| lo c alho s t-b in.000001 |495|

| lo c alho s t-b in.000002|3394|

+----------------------+-----------+

如果s lave主机上使用的的Mas ter_Lo g_F ile对应的文件在mas ter的日志列表中存在在s lave主机上开启从属服务器线程后可以自动同步

MySQL> start slave;

如果mas ter主机上的日志文件已经不存在则需要首先从mas ter主机上恢复全部数据再开启同步机制。

在s lave主机上运行

MySQL> stop slave;

在mas ter主机上运行

MySQL> stop slave;

在s lave主机上运行

MySQL> load data from master;

MySQL> reset master;

MySQL> start slave;

在mas ter主机上运行

MySQL> reset slave;

MySQL>start slave;

注意 LOAD DATA FROM MASTER 目前只在所有表使用MyI S AM存储引擎的数据库上有效。

上一页123>>>>这篇文章来自..  。

HostHatch(15美元)大硬盘VPS,香港NVMe,美国、英国、荷兰、印度、挪威、澳大利亚

HostHatch在当地时间7月30日发布了一系列的促销套餐,涉及亚洲和欧美的多个地区机房,最低年付15美元起,一次买2年还能免费升级双倍资源。商家成立于2011年,提供基于KVM架构的VPS主机,数据中心包括中国香港、美国、英国、荷兰、印度、挪威、澳大利亚等国家的十几个地区机房。官方网站:https://hosthatch.com/NVMe VPS(香港/悉尼)1 CPU core (12.5%...

[黑五]ProfitServer新加坡/德国/荷兰/西班牙VPS五折,不限流量KVM月付2.88美元起

ProfitServer已开启了黑色星期五的促销活动,一直到本月底,商家新加坡、荷兰、德国和西班牙机房VPS直接5折,无码直购最低每月2.88美元起,不限制流量,提供IPv4+IPv6。这是一家始于2003年的俄罗斯主机商,提供虚拟主机、VPS、独立服务器、SSL证书、域名等产品,可选数据中心包括俄罗斯、法国、荷兰、美国、新加坡、拉脱维亚、捷克、保加利亚等多个国家和地区。我们随便以一个数据中心为例...

MineServer:洛杉矶CN2 GIA VPS/512MB内存/20GB NVME/800GB流量/200Mbps/KVM,58元/季

mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,之前介绍过几次,最近比较活跃。这家新推出了洛杉矶CN2 GIA VPS,512MB内存/20GB NVME/800GB流量/200Mbps/KVM,58元/季,并且进行了带宽升级,同时IP更改为美国IP。点击...

mysql主机为你推荐
虚拟空间虚拟内存是指啥啊?网站域名域名和网址有什么区别个人虚拟主机个人商城要选多大的虚拟主机?php虚拟空间虚拟空间怎么修改php.ini配置网站空间购买哪里买网站空间好?香港虚拟主机香港的虚拟主机好不好,如何选择虚拟主机?虚拟主机服务商哪个虚拟主机的服务商比较好?最好的虚拟主机哪家的虚拟主机比较好?青岛虚拟主机虚拟主机在什么地方买好?又便宜?shopex虚拟主机浙江新锐网络科技有限公司是一家骗子虚拟主机商
北京域名注册 电信服务器租用 hostgator 空间打开慢 godaddy java虚拟主机 京东商城双十一活动 100m免费空间 php空间申请 河南m值兑换 刀片式服务器 电信托管 cloudlink 申请网站 网通服务器 免费ftp 服务器论坛 测速电信 带宽测试 privatetracker 更多