ITPub博客

首页 > 数据库 > MySQL > 直播带货系统源码,实现MYSQL数据库的主从同步

直播带货系统源码,实现MYSQL数据库的主从同步

MySQL 作者:云豹科技晓彤 时间:2021-07-02 17:12:47 0 删除 编辑

4 测试

(1 )在直播带货系统源码主服务器上登陆 mysql ,且进入 test 数据库,创建 test 表,且插入一条数据

提示:这里最好用数据库管理工具(如nacicat )来操作。

# 创建 tb_test 表

create table tb_test(ID varchar(36) primary key comment ' 主键 ID',MEMO varchar(500) not null comment ' 信息 ');

 

# 插入一条数据

insert into tb_test(ID,MEMO) values('1','one test');

 

# 提交

commit;

 

(2 )在直播带货系统源码从服务器上登陆 mysql ,且进入 test 数据库

你会发现直播带货系统源码从数据库中,也出现了tb_test 表,且表中还有 one test 数据存在,证明同步数据成功。

5 解决错误

若在直播带货系统源码主从同步的过程中,出现其中一条语句同步失败报错了,则后面的语句也肯定不能同步成功了。例如,主库有一条数据,而从库并没有这一条数据,然而,在主库执行了删除这一条数据的操作,那么从库没有这么一条数据就肯定删除不了,从而报错了。在此时的从数据库的数据同步就失败了,因此后面的同步语句就无法继续执行。

这里提供的解决方法有两种:

(1 )在直播带货系统源码从数据库中,使用 SET 全局 sql_slave_skip_counter 来跳过事件,跳过这一个错误,然后执行从下一个事件组开始。

# 在从数据库上操作

mysql > stop slave;

mysql > set global sql_slave_skip_counter=1;

mysql > start slave;

 

(2 )在直播带货系统源码从数据库中,重新连上主数据库。这种操作会直接跳过中间的那些同步语句,可能会导致一些数据未同步过去的问题,但这种操作也是最后的绝招。最好就是令从数据库与主数据库的数据结构和数据都一致了之后,再来恢复主从同步的操作。

# 在从数据库上操作

mysql > stop slave;

mysql> change master to master_host='192.168.17.130',master_port=3306,master_user='masterbackup',master_password='123456',master_log_file='master-bin.000001',master_log_pos=2050;

mysql > start slave;

 

# 备注

#master_log_file 和 master_log_pos 可能会不同,需要在主数据库中 show master status 来查看

 

6 总结

至此,mysql 数据库的主从同步就完成了,至于读写分离,我们可以通过程序来实现,这里简单讲解一下实现思想。

我们可以在直播带货系统源码主服务器创建一个数据库用户(出于安全,根据需求给予相应的权限)主要用于写操作,在程序中通过这一用户连接主数据库的只用于写操作而不用读操作。

在直播带货系统源码从服务器上创建一个数据库用户(出于安全,只给予读select 的权限)主要用于读操作,在程序中通过这一用户连接从数据库即可。

当然,也可以找一个组件来完成MYSQL 的代理,实现 SQL 语句的路由,这样就不需要我们在直播带货系统源码上关注哪个数据库是写,哪个数据库是读的了。
————————————————

声明:本文由云豹科技转发自CSDN 【 叶梦_ 】,如有侵权请联系作者删除
原文链接:https://blog.csdn.net/qq_15092079/article/details/81672920

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70002045/viewspace-2779480/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
音视频软件开发相关知识科普账号

注册时间:2021-06-11

  • 博文量
    163
  • 访问量
    60336