12 2018 档案
mysql 复制原理与实践
摘要:复制功能是将一个mysql数据库上的数据复到一个或多个mysql从数据库上。 复制的原理:在主服务器上执行的所有DDL和DML语句都会被记录到二进制日志中,这些日志由连接到它的从服务器获取,并复制到从库,并保存为中继日志, 这个过程由一个称为 IO线程 的线程负责,还有一个称为 SQL线程 的则按顺
阅读全文
mysql 数据库备份的多种方式
摘要:一、使用mysqldump进行备份 1、完整备份所有数据库 在mysql8之前,存储过程和事件存储在mysql.proc和mysql.event表中。 从mysql8开始,相应对象的定义存储在数据字典中,这些表不会被备份。 要将存储过程和事件也包含,请使用如下语句: 2、时间点恢复 要获得时间点恢复
阅读全文
mysql 事务中如果有sql语句出错,会导致自动回滚吗?
摘要:事务,我们都知道具有原子性,操作要么全部成功,要么全部失败。但是有可能会造成误解。 我们先准备一张表,来进行测试 一、如果事务中,有某条sql语句执行时报错了,我们没有手动的commit,那整个事务会自动回滚吗? 答案:会。 当我们直接把窗口关掉,新开窗口再去查询表name时,表中没有第一次插入的记
阅读全文
mysql的事务,隔离级别和锁
摘要:事务就是一组一起成功或一起失败的sql语句。事务还应该具备,原子性,一致性,隔离性和持久性。 一、事务的基本要素 (ACID) 1、原子性:事务开始后,所有的操作,要么全部成功,要么全部失败,不可能处于中间状态,事务是一个不可分割的整体,就像原子一样。 2、一致性:事务开始前和结束后,数据库的完整性
阅读全文
mysql5.7 生成列 generated column
摘要:生成列的值是根据列定义中的表达式计算得出的。 mysql5.7支持两种类型的生成列: 1、virtual 生成列:当从表中读取记录时,才计算该列值。不会把数据持久化在硬盘上。 2、stored 生成列:向表中写入记录时,计算该列值,并作为常规列持久化存储在硬盘上。 所以 virtual 相较于 st
阅读全文
mysql8 公用表表达式CTE的使用
摘要:公用表表达式CTE就是命名的临时结果集,作用范围是当前语句。 说白点你可以理解成一个可以复用的子查询,当然跟子查询还是有点区别的,CTE可以引用其他CTE,但子查询不能引用其他子查询。 一、cte的语法格式: 二、哪些地方可以使用with语句创建cte 1、select, update,delete
阅读全文
mysql5.7 新增的json字段类型
摘要:一、我们先创建一个表,准备点数据 二、检索json列的字段 通过使用 -> 或 ->> 运算符检索json列的字段 使用 -> 和 ->> 的区别是结果用了引号包裹。 三、处理json的一些函数 JSON_PRETTY(json_val) 以优雅的格式显示json值 JSON_CONTAINS(ta
阅读全文
mysql left join 多条记录 1:n 的处理方法
摘要:一、准备两张表,文章表和评伦表 随便搞点测试数据 我们运行如下语句: 结果如上所示,主表中有多条记录重复显示了,因为条件 on c.a_id = a.id 主表中的一条记录对应右表中的多条记录,这种1 : n 的情况, left join 的处理方法是主表以重复的方式对应多条右表记录出现在结果集中。
阅读全文
centos7 二进制版本安装 mysql8.0.13
摘要:一、下载mysql二进制安装包 mysql官网: https://dev.mysql.com/downloads/mysql/ 由于国内网络问题,个人建议使用国内开源镜像站下载: http://mirrors.163.com/mysql/Downloads/MySQL-8.0/ http://mir
阅读全文
mysql中left join设置条件在on与where时的区别
摘要:一、首先我们准备两张表来进行测试。 两个表的数据如图所示: 运行下面左连接查询: 我们分别在on和where后面加上条件,看看执行结果是否相同。 上面的两条语句,条件我们设置的是一样的都是b.id > 3,为什么显示结果不同。 sql语句查询的关键字顺序一般为 from > where > grou
阅读全文
mysql中各种join连表查询总结
摘要:通常我们需要连接多个表查询数据,以获取想要的结果。 一、连接可以分为三类: (1) 内连接:join,inner join (2) 外连接:left join,left outer join,right join,right outer join,union,union all (3) 交叉连接:c
阅读全文
YII2 在使用控制器调试微信接口时报错 Unable to verify your data submission
摘要:出现这个原因,是因为提交数据时,被YII2的CSRF验证给拦截了。 只需要在当前控制器设置一个属性,关闭该验证就可以了。
阅读全文
php5.6 版本出现 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version 的错误
摘要:解决方法是修改php.ini配置: 把前面的分号去掉 然后重启服务器
阅读全文