202108-08 浅谈mysql返回Boolean类型的几种情况 mysql返回Boolean类型第一种情况,直接返回selectid='22aa'frommytestwhereage=202返回1可封装为trueselectcount(*)=1frommytestwhereage=202返回1可封装为trueselectcount(*)=0frommytestwhereage=202返回0可封装为falseselectcount(*)<3frommytestwhereage=202返回1可封装为trueselectcount(*)<=1frommytestwhereage=202返回1可封装为trueselectname="aa"frommytestwhereage=10... 继续阅读 >
202108-08 Mysql 设置boolean类型的操作 Mysql设置boolean类型1.tinyint类型我们创建test表,并设置其bl字段为boolean类型createtabletest(idintPRIMARYkey,statusboolean)这样是可以创建成功。查看建表后的语句会发现,mysql把它替换成tinyint(1)。tinyint只能存储从0到255的整数,由于MySql中没有boolean类型,所以会用到tinyint[1]类型来表示,在mysql中boolean=tinyint[1]0代表false1代表true在pojo里直接定义该属性为布尔值即可:privateBooleanstatus当类... 继续阅读 >
202108-06 Mysql systemctl start mysqld报错的问题解决 报错信息:Jobformysqld.servicefailedbecausethecontrolprocessexitedwitherrorcode.See“systemctlstatusmysqld.service”and“journalctl-xe”fordetails.定位错误:vim/var/log/mysqld.log#查看日志信息看到最后一行(shift+G)原因分析:MySQL数据存放位置改为数据盘地址,重启机器,然后磁盘挂载没有设置为开机自动挂载,导致PID文件找不到。解决方法:1.在/etc/my.cnf中查看pid-file的位置vim... 继续阅读 >
202108-06 MySQL中in和exists区别详解 一、提前准备为了大家学习方便,我在这里面建立两张表并为其添加一些数据。一张水果表,一张供应商表。水果表fruits表f_idf_namef_pricea1apple5a2appricot2b1blackberry10... 继续阅读 >
202108-06 MySQL 不等于的三种使用及区别 MySQL中常用到判断符号,而不等于是比较常用的符号,下面讲解以下三种不等于符号符号意义<>不等于的最早用法,可移植性优于下面两种!=后来MySQL添加上的,类似于Java等编程语言中的不等于notinnotin后面加上数据,表示不在该数据里面MySQL... 继续阅读 >
202108-06 MYSQL 无法识别中文的永久解决方法 多数情况下,mysql在刚刚安装时是不支持中文的,这是由于编码的问题我们可以通过修改配置文件,永久实现mysql对中文的识别首先我们要先将文件夹的隐藏文件显示(如图)↓在mysql5.5及更老的版本,配置文件大多都在安装目录下,下图的my.ini就是我们需要的在mysql5.7及以上版本配置文件在如下图位置我们只需要打开my.ini,将下图代码段默认编码改为utf8保存即可如果提示没有修改权限,可以管理员方式运行编辑器,再用编辑器打开my.i... 继续阅读 >
202108-06 MySQL5.7并行复制原理及实现 稍微了解过一点的数据的运维就知道MySQL5.5以及之前是单SQL线程回放,如果MasterQPS稍微高点,从上就有延迟了,5.6是基于库的并行回放机制,只有当多个库的话才有复制才有优势,而5.7是基于组的并行回放,同一组的事务可以并行重放从而解决延迟问题。MySQL5.7并行复制时代众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL5.7版本已经支持“真正”的并行复制功能... 继续阅读 >
202108-06 MySQL删除和插入数据很慢的问题解决 公司开发人员在测试环境中执行一条insert语句时,需要花费10几秒才可以执行成功。查看测试环境数据库性能、数据量、死锁等信息,均为发现异常。最后通过修改日志写入方式解决此问题。1.修改办法修改/etc/my.cnf文件,将innodb_flush_log_at_trx_commit=1改为0,但这样就要承担数据库Crash后,1秒内未存储到数据库数据丢失可能的风险。MySQL文档中对该参数的描述如下:Ifthevalueofinnodb_flush_log_at_trx_commitis... 继续阅读 >
202108-06 mysql5.7使用binlog 恢复数据的方法 第一步:保证mysql已经开启binlogshowvariableslike'%log_bin%';log_bin为on是开启。第二步:进入binlog文件目录,找到二进制日志文件mysql>showbinarylogs;#获取binlog文件列表mysql>showmasterstatus;#查看当前正在写入的binlog文件mysql>resetmaster;重置binlog第三步:通过mysqlbinlog工具命令查看数据库增删改查记录(必须切换到mysqlbinlog目录才有效)或者直接指定binlog例子1:查询2021-3-1214:00:00到... 继续阅读 >
202108-06 MySQL8.0无法启动3534的解决方法 MySQL8.0服务无法启动最近遇到的在cmd启动MySQL服务的时候:MySQL服务正在启动MySQL服务无法启动服务没有报告任何错误请键入NETHELPMSG3534以获得更多的帮助或者在此电脑-管理-服务和应用程序-服务中启动mysql服务时出现首先,说明下最重要的解决方法。就是自己去找报错信息!虽然CSDN上的内容都很不错,但是MySQL出错的原因五花八门。就需要自己找自己的报错信息。就比如我,也是刚接触MySQL不久。出现了这个问题就在CSDN找... 继续阅读 >
202108-06 Mysql实现主从配置和多主多从配置 我们现在模拟的是主从(1台主机、一台从机),其主从同步的原理,就是对bin-log二进制文件的同步,将这个文件的内容从主机同步到从机。一、配置文件的修改1、主机配置文件修改配置我们首先需要mysql主机(192.168.254.130)的/etc/my.cnf配置文件,添加如下配置:#主机唯一IDserver-id=1#二进制日志log-bin=mysql-bin#不需要同步的数据库binlog-ignore-db=mysqlbinlog-ignore-db=information_schema#同步的数据库名称binlog-do-db=mycat... 继续阅读 >
202108-06 MySQL不使用order by实现排名的三种思路总结 假定业务:查看在职员工的薪资的第二名的员工信息创建数据库dropdatabaseifexistsemps;createdatabaseemps;useemps;createtableemployees(empIdintprimarykey,--员工编号genderchar(1)NOTNULL,--员工性别hire_datedateNOTNULL--员工入职时间);createtablesalaries(empIdintprimarykey,salarydouble--员工薪资);INSERTINTOemployeesVALUES(10001,'M','1986-06-26'... 继续阅读 >
202107-30 MySQL 8.0 Online DDL快速加列的相关总结 目录问题描述MySQLOnlineDDL加列的历史方法01Copy方法02Inplace方法MySQL8.0.12引入的Instant方法问题描述前几天同事问了我一个问题:业务A从MySQL迁移到MongoDB的原因是什么?说实话,这个问题还真不好回答,为什么要迁移,一定是遇到了某种瓶颈,可能是数据量也可能是数据类型等,于是我咨询了一下业务,最终得到了答案:这个业务中的某些表,要频繁的加字段。mongodb中加字段的成本几乎没有,而MySQL低版本中加字段的成本... 继续阅读 >
202107-30 MySQL 常见存储引擎的优劣 目录查看所有存储引擎InnoDB存储引擎MyISAM存储引擎MEMORY存储引擎查看所有存储引擎我们可以通过showengines命令来看到我们的mysqlserver提供了哪些引擎:showengines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+|Engine|Support|Comment|Tran... 继续阅读 >
202107-22 一文读懂navicat for mysql基础知识 目录一、数据库的操作二、数据类型三、备份和恢复三、操作动作四、高级五、知识补充一、数据库的操作1、新建数据库2、打开数据库右键或者双击就可以了。3、删除数据库右键?>删除数据库4、修改数据库右键?>数据库属性二、数据类型1、常用的数据类型整数:int小数:decimal字符串:varchar日期时间:datatime2、约束条件主键:物理上储存的顺序(主键唯一、不能为空,所以允许空值的勾得去掉,不然不能新建或保存,还可以选择下面注... 继续阅读 >
202107-22 MySQL CHAR和VARCHAR该如何选择 目录VARCHAR和CHAR类型结语:VARCHAR和CHAR类型VARCHAR和CHAR是两种主要的字符串类型,用于存储字符。不幸的是,由于实现的方式依赖于存储引擎,因此很难解释这些字符串在磁盘和内存中如何存储,除了除了常用的InnoDB和MyISAM外,假设你使用了其他存储引擎,应当仔细阅读存储引擎的文档。VARCHAR存储可变长度的字符串,也是最常用的字符数据类型。相比固定长度的类型,VARCHAR所需的存储空间更小,它会尽可... 继续阅读 >