2020
12-02
12-02
解决MySQL读写分离导致insert后select不到数据的问题
MySQL设置独写分离,在代码中按照如下写法,可能会出现问题//先录入this.insert(obj);//再查询Objectres=this.selectById(obj.getId());res:null;线上的一个坑,做了读写分离以后,有一个场景因为想方法复用,只传入一个ID就好,直接去库里查出一个对象再做后续处理,结果查不出来,事务隔离级别各种也都排查了,最后发现是读写分离的问题,所以换个思路去实现吧。补充知识:MySQLINSERT插入条件判断:如果不存在则插入我们经...
继续阅读 >
一、添加Maria源vi/etc/yum.repos.d/MariaDB.repo粘贴阿里云的最新mariadb镜像:[mariadb]name=MariaDBbaseurl=https://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck=1安装新版本的MariaDByuminstallmariadbmariadb-server开启binlog日志vim/etc/my.cnf.d/server.cnf在mysqld下添加以下内容server_id=1log_bin=mysql-binsystemctl...
前言基本职场上的程序员用来统计数据库表的行数都会使用count(*),count(1)或者count(主键),那么它们之间的区别和性能你又是否了解呢?其实程序员在开发的过程中,在一张大表上统计总行数是非常耗时的一个操作,那么我们应该用哪个方法统计会更快呢?接下来我们就来聊一聊MySQL中统计总行数的方法和性能。count(*),count(1),count(主键)哪个更快?1、建表并且插入1000万条数据进行实验测试:#创建测试表CREATETABLE`t6`(`...
前几篇文章给大家介绍了MySQL中的替换函数(Replace)、切分函数(SubString),今天我们一起来看看MySQL专业拼接“字符串”的函数:concat。老规矩,有好的建议和想法,记得写到评论中,等我上班摸鱼时,跟大家一起吃瓜~一、concat函数相关的几种用法1-1、函数:concat(str1,str2,…)concat函数一般用在SELECT查询语法中,用于修改返回字段内容,例如有张LOL英雄信息表如下mysql>select*from`LOL`;+----+---------------+-...
数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的数量取决于系统的压力,通常是1-3个读节点的配置。而一般的读写分离中间件,例如Mycat的读写分离和自动切换机制,需要mysql的主从复制机制配合。主从配置需要注意的地方1、主DBserver和从DBserver数据库的版本一致2、主DBserver和从DBserver数据...
前言1.基准测试(benchmarking)是性能测试的一种类型,强调的是对一类测试对象的某些性能指标进行定量的、可复现、可对比的测试。进一步来理解,基准测试是在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响,这也是基准测试最常见的用途。其他用途包括测定某种负载水平下的性能极限、管理系统或环境的变化、发现可能导致性能问题的条件...
一.慢查询日志1.1MySQL的日志类型日志用于记录数据库的运行情况,以及用户对数据库执行的各类操作。当数据库发生故障时,可以根据日志分析和解决问题,从而对数据库进行恢复。1.2认识慢查询日志慢查询日志用于记录MySQL数据库中响应时间超过指定阈值的语句。慢查询日志通常也被称之为慢日志,因为它不仅仅只针对SELECT语句,像INSERT、UPDATE、DELETE等语句,只要响应时间超过所设定阈值都会记录在慢查询日志中。1.3如何开启...