随笔分类 -  MysqL

摘要:本文从参数含义,性能,安全角度阐述两个参数为不同的值时对db 性能,数据的影响,引擎是Innodb的前提下。 取值:0/1/2 innodb_flush_log_at_trx_commit=0,表示每隔一秒把log buffer刷到文件系统中(os buffer)去,并且调用文件系统的“flush” 阅读全文
posted @ 2017-12-25 14:16 温柔的风 阅读(1302) 评论(0) 推荐(0) 编辑
摘要:sync_binlog:是MySQL 的二进制日志(binary log)同步到磁盘的频率(刷新二进制日志到磁盘),默认是0,意味着mysql并不刷新,由操作系统自己决定什么时候刷新缓存到持久化设置,如果这个值比0大,它指定了两次刷新到磁盘的动作之间间隔多少次二进制日志写操作。 sync_binlo 阅读全文
posted @ 2017-12-25 13:41 温柔的风 阅读(2163) 评论(0) 推荐(0) 编辑
摘要:MySQL在5.x系列提供了Blackhole引擎–“黑洞”. 其作用正如其名字一样:任何写入到此引擎的数据均会被丢弃掉, 不做实际存储;Select语句的内容永远是空。 和Linux中的 /dev/null 文件完成的作用完全一致。那么, 一个不能存储数据的引擎有什么用呢?在大规模的Mysql服务 阅读全文
posted @ 2017-12-22 17:49 温柔的风 阅读(4953) 评论(2) 推荐(0) 编辑
摘要:先来说一下什么是碎片,怎么知道碎片有多大! 简单的说,删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来.于是造成了数据的存储位置不连续,以及物理存储顺序与理论上的排序顺序不同,这种是数据碎片.实际上数据碎片分为两种,一种是单行数据碎片,另一种是多行数据碎片. 阅读全文
posted @ 2017-12-19 13:41 温柔的风 阅读(9501) 评论(1) 推荐(0) 编辑
摘要:先来举一个在某些应用场景下会出现数据不一致的例子,当然存储引擎是InnoDB(至于为什么,后面再告诉你)。 电商平台常见的下单场景: 一般商品表(goods)有基本的四个字段,id(主键),goods_name (商品名),goods_status是商品状态(下架还是在售),goods_stock( 阅读全文
posted @ 2017-12-05 15:23 温柔的风 阅读(10727) 评论(1) 推荐(1) 编辑
摘要:MysqL在执行一句数据库操作命令的时候,通常都是自动提交的。常用引擎下有两种,分别是MyIsam和InnoDB,MyIsam是不支持事务处理的,但InnoDB支持,但InnoDB在不开启事务处理的情况下执行语句也会自动提交,因为MysqL有一个机制控制,那就是自动提交机制,在默认情况下是开启的,我 阅读全文
posted @ 2017-12-05 14:15 温柔的风 阅读(3629) 评论(0) 推荐(0) 编辑
摘要:$mysql_server_name = "localhost"; $mysql_username = "root"; $mysql_password = "root"; $mysql_database = "db_name"; $mysql_table = "table_name"; // 新建连接 $mysqli = new mysqli($mysql_ser... 阅读全文
posted @ 2017-11-28 15:24 温柔的风 阅读(498) 评论(0) 推荐(0) 编辑
摘要:咱创建一个目录,专门用于存放Mysql的备份文件。/data/mysql_bak。写个shell脚本,每分钟备份一次测试以下。 脚本代码: 然后执行定时任务 隔几分钟刷新目录查看文件。 OK。关于定时任务的一些设定格式命令请参考此链接,有详细说明。 额外关于老数据的删除,可以参考一些网上其他帖子,本 阅读全文
posted @ 2017-11-14 17:59 温柔的风 阅读(1640) 评论(0) 推荐(0) 编辑
摘要:在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 执行完命令并没有出现备份文件,报错 解决方案: 通过命令进入mysql,执行以下命令 再次执行备份命令。OK文件生成~ 阅读全文
posted @ 2017-11-14 16:22 温柔的风 阅读(1213) 评论(0) 推荐(0) 编辑
摘要:在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 在执行完了命令本该在指定的目录下出现bak_test.sql文件,然而并没有生成,报了一行错误。这个问题应该是在MySQL5.6+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。 网上大部 阅读全文
posted @ 2017-11-14 15:57 温柔的风 阅读(13646) 评论(0) 推荐(0) 编辑
摘要:一个项目的开发到测试上线运营,团队对项目的管理不成熟会影响项目的开发效率。由于项目是我刚接手,独自在Centos搭建PHP环境,所以就考虑使用高版本,选择了Mysql5.7,本地开发环境还是Windows继承环境,PHP环境和Centos是统一的7.0,但是Mysql版本是5.3的,本地开发一切顺利 阅读全文
posted @ 2017-10-16 10:33 温柔的风 阅读(15213) 评论(2) 推荐(2) 编辑
摘要:主流索引查找算法 线性查找,是一个链表,要搜索的话,需要从第一个往后一个个找 二分查找,是线性查找的升级,也就是说二分查找是可以用线性查找的数据接口,但是算法不一样 二叉树查找,进一步提高性能,引入了二叉树 平衡二叉树,二叉树因为有平衡的问题,又进一步出现了平衡二叉树 B树,在平衡二叉树之后又发现了 阅读全文
posted @ 2017-09-22 11:32 温柔的风 阅读(2505) 评论(1) 推荐(0) 编辑
摘要:先看表结构和数据: 她给出的问题是,通过这条Sql语句统计了每个字段的总和,然后找出指定user_id关联times总和的排名 查询出的结果是: 我给出了两种方法一条SQL实现。 第一种 第二种 查询结果也是跟第一种一样。 可能以上说明您没太明白,然后我再拿一条简单的表举例: 表创建好了,看后查看一 阅读全文
posted @ 2017-05-17 18:36 温柔的风 阅读(881) 评论(0) 推荐(0) 编辑
摘要:什么是基准测试 基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以及评估变化对性能的影响。 我们可以这样认为:基准测试是针对系统设置的一种压力测试。用来观察系统在不同压力下的行为,评估系统的容量,观察系统如何处理不同的数据,但是要注意的 阅读全文
posted @ 2017-05-17 18:19 温柔的风 阅读(2618) 评论(0) 推荐(0) 编辑
摘要:第一步:创建模拟数据表. 第二步:来一个随机生成字符串的函数,模拟用户名与内容. 第三步:在配置完成php_redis扩展的情况下,写一个并发脚本,同时把500条数据放入redis队列。 来用Apache的ab.exe并发测试写入,不懂得怎么用ab的看一下这篇文章:简单模拟一下ab压力测试 测试写入 阅读全文
posted @ 2017-05-17 18:05 温柔的风 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:①直接取值 若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。 例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句: ②创建函数 比如,要获取1-9的随机数,如此调用即可: 阅读全文
posted @ 2017-05-17 17:54 温柔的风 阅读(22979) 评论(0) 推荐(0) 编辑
摘要:【Mysql主从复制】解决的问题数据分布:比如一共150台机器,分别往电信、网通、移动各放50台,这样无论在哪个网络访问都很快。其次按照地域,比如国内国外,北方南方,这样地域性访问解决了。负载均衡:Mysql读写分离,读写分开了,解决了部分服务器的压力,均衡分开。数据备份:比如100台机器,实际数据 阅读全文
posted @ 2017-05-17 17:53 温柔的风 阅读(1420) 评论(0) 推荐(0) 编辑
摘要:SELECT UPDATE INSERT Delete 对AUTO_INCREMENT的 操作 对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但 是在MyISAM表中,可以和其他字段一起建立联 合索引 更好和更快的auto_increment处理 自动增长计数 阅读全文
posted @ 2017-05-17 17:38 温柔的风 阅读(5203) 评论(0) 推荐(1) 编辑
摘要:如果要进行SQL的调优优化和排查,第一步是先让故障重现,但是这个并不是这一分钟有问题,下一秒就OK。一般的企业一般是DBA数据库工程师从监控里找到问题。DBA会告诉我们让我们来排查问题,那么可能很多种原因,也许是程序内存泄漏、也许是网络、也许是死锁、也许是SQL写的烂。假设是SQL问题我们需要把SQ 阅读全文
posted @ 2017-05-17 17:29 温柔的风 阅读(392) 评论(0) 推荐(0) 编辑
摘要:测试数据表的创建在文章:http://www.cnblogs.com/wt645631686/p/6868192.html 先看一下我的SQL方案 在终端中测试结果是0.01sec. 在Mysql工具中测试结果是0.008-0.01sec。 看一下我在网上找到方案: 第一种方案: 在终端中测试结果是 阅读全文
posted @ 2017-05-17 16:41 温柔的风 阅读(3775) 评论(0) 推荐(0) 编辑