如何实现实时监控mysql数据库主从同步的状态

如何实现实时监控mysql数据库主从同步的状态,第1张

1、增加一个用户同步使用的帐号:

GRANT FILE ON TO ‘backup’@'10108112' IDENTIFIED BY ‘1234’;

GRANTREPLICATION SLAVE ON TO ‘backup’@'10108112' IDENTIFIED BY ‘1234’;

赋予10108112也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权

限才可以。

2、增加一个数据库作为同步数据库:

create databbse test;

3、创建一个表结构:

create table mytest (username varchar(20),password varchar(20));

4、修改配置文件:

修改A的/etc/mycnf文件,在mycnf配置项中加入下面配置:

server-id = 1 #Server标识

log-bin

binlog-do-db=test #指定需要日志的数据库

5、重起数据库服务:

service 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 (000 sec)

6、用show master status/G命令看日志情况。

正常为:

mysql> show master status/G

貌似没有直接可用的方法。

不过有个思路:可以开启mysql的binlog,mysql会把所有的 *** 作写进来,你搞个程序解析然后到pg中执行。

具体实现就不好说了,没这么干过,呵呵。

二者数据同步的关键在于mysql数据库中主键,方案是在redis启动时区mysql读取所有表键值存入redis中,往redis写数据是,对redis主键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键。

参考代码如下:

String tbname = "login";

//获取mysql表主键值--redis启动时

long id = MySQLgetID(tbname);

//设置redis主键值--redis启动时

redisServiceset(tbname, StringvalueOf(id));

Systemoutprintln(id);

long l = redisServiceincr(tbname);

Systemoutprintln(l);

Login login = new Login();

loginsetId(l);

loginsetName("redis");

redisServicehmset(StringvalueOf(logingetId()), login);

boolean b = MySQLinsert("insert into login(id,name) values(" + logingetId()

+ ",'" + logingetName() + "')");

/

队列处理器更新mysql失败:

清除缓存数据,同时主键值自减

/

if (!b)

{

redisServicedelKeyAndDecr

(tbname, "Login:"+StringvalueOf(logingetId()));

// redisServicedelete("Login:"+StringvalueOf(logingetId()));

//redisServicedecr(tbname);

}

Systemoutprintln(redisServiceexists("Login:"+StringvalueOf(logingetId())));

Systemoutprintln(redisServiceget(tbname));

以上就是关于如何实现实时监控mysql数据库主从同步的状态全部的内容,包括:如何实现实时监控mysql数据库主从同步的状态、mysql数据库 实时同步到 postgresql、请教redis如何做到和mysql数据库的同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9354422.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存