随笔分类 -  mysql

摘要:什么是 mysql-proxy? mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server。 它使用mysql协议,任何使用mysql-client的上游无需修改任何代码,即可迁移至mysql-proxy上。 阅读全文
posted @ 2019-01-18 21:33 佚名000 阅读(1504) 评论(3) 推荐(0)
摘要:修改 json 里的数组字段 select、匹配 json 字段 json 字段名有横杠的处理:给字段名加双引号 设置值为数组:使用 json_array 函数 设置值为对象:使用 json_object 函数 更多参考资料: json 字段数据类型:https://dev.mysql.com/do 阅读全文
posted @ 2018-11-07 17:49 佚名000 阅读(998) 评论(0) 推荐(0)
摘要:1、对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 (laravel 可以使用 debugbar 包,可以及时发现低效 sql 语句,不使用索引的语句,tp5 的 log可以记录 sql 查询语句、时间) 2、应尽量避免在 where 子句中 阅读全文
posted @ 2018-07-12 21:01 佚名000 阅读(160) 评论(0) 推荐(0)
摘要:对于缓存,一般人想到的是 redis、memcache 这些内存型的缓存。 但是实际上 mysql 也提供了缓存,mysql 里面的缓存是查询缓存,可以把我们查询过的语句缓存下来,下一次查询的时候有可能就直接从缓存返回(缓存命中)。 当然使用 mysql 缓存也不是没有坏处,mysql 多了个管理缓 阅读全文
posted @ 2018-06-28 20:30 佚名000 阅读(3411) 评论(0) 推荐(1)
摘要:如果将 count(*) 和 group by 一起使用,count(*) 统计的将会是每个 group 里面的行数,而不是 group 的个数。 如果你想统计 group 的个数,需要将 group by 查询放到子查询里面,然后在主查询里面再使用 count(*)。 如下所示,第一个查询的 co 阅读全文
posted @ 2018-06-27 10:16 佚名000 阅读(13413) 评论(0) 推荐(1)
摘要:共享锁(share lock) 共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。 如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获取共享锁的事务只能读取数据,不能修改数据。 用法: 阅读全文
posted @ 2018-06-06 22:56 佚名000 阅读(289) 评论(0) 推荐(0)
摘要:在 SQL 标准中定义了四种隔离级别,每一种级别都规定了一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低级别的隔离通常可以执行更高的并发,系统的开销也更低。 read uncommited(未提交读) 在 read uncommitted 级别,事务中的修改,即使没有提交,对 阅读全文
posted @ 2018-06-03 09:05 佚名000 阅读(386) 评论(0) 推荐(0)
摘要:目前有三张表: 课程表: course,里面有student_id 学生表: student,里面有 name 字段 中间表(课程和学生一对多): course_student, 里面有 course_id、student_id 把课程select出来,并且有一个字段保存该课程所有的学生姓名: 阅读全文
posted @ 2017-12-13 12:15 佚名000 阅读(174) 评论(0) 推荐(0)
摘要:有时候遇到mysql突然很久没有响应的情况,我们就想知道背后发生了什么。 这时候我们就可以通过以下的命令来查看mysql正在处理的进程: 这个命令可以通过navicat的 工具->服务器监控 进行更方便地查看。 另外一种情况,执行alter table的时候卡死的时候,有可能是mysql有未提交的事 阅读全文
posted @ 2017-12-06 14:13 佚名000 阅读(4324) 评论(0) 推荐(0)
摘要:navicat 选择转储结构和数据的时候,生成的 sql 文件会比较大,因为每一条数据都会生成一条 sql 语句,所以会导致 使用 source 还原的时候会很慢很慢很慢, 而使用 mysqldump 导出的文件,使用 source 还原的时候是批量插入的。 这其中的差别在于如果你有 1w 条数据, 阅读全文
posted @ 2017-10-26 17:12 佚名000 阅读(6780) 评论(0) 推荐(0)
摘要:不要在看了,本文是个人多年以前一些不成熟的想法,没有太大参考价值。 之前用了sphinx,发现很多东西很久都没更新过了,之前只是知道有elasticsearch这个东西,还以为是java才能用,所以一直没有去了解过,也许sphinx慢慢会被淘汰了吧。 前置条件:需要安装jdk,并配置了 JAVA_H 阅读全文
posted @ 2017-10-25 23:23 佚名000 阅读(53060) 评论(3) 推荐(2)
摘要:系统运行中, 增量备份,与整体备份.Mysqldump可以导出:库、表 例1: 导出mugua库下面的表Mysqldump -u用户名 -p密码 库名 表1 表2 表3 > 地址/备份文件名称导出的是建表语句及insert语句 例2:如何导出一个库下面的所有表?Mysqldump -u用户名 -p密 阅读全文
posted @ 2017-10-24 23:22 佚名000 阅读(173) 评论(0) 推荐(0)
摘要:使用以下命令启动,这样就不需要密码登陆了 sudo mysqld_safe --skip-grant-tables & 登陆:mysql -uroot 重设密码:use mysql;update user set password=PASSWORD("mynewpassword") where Us 阅读全文
posted @ 2017-10-24 23:21 佚名000 阅读(127) 评论(0) 推荐(0)
摘要:环境: mysql版本都是5.7(以前的版本配置可能不一样) 主(Master) windows:192.168.0.68 从(Slave) centos7:192.168.0.4 基本环境配置: 要保证防火墙3306端口开放,如果只是为了学习,可以直接关闭防火墙。 centos关闭防火墙方法:se 阅读全文
posted @ 2017-08-12 13:54 佚名000 阅读(14475) 评论(1) 推荐(1)