随笔分类 -  MysqL

摘要:打开帖子直接一张醒目的图,是阿里巴巴的Java开发手册对Mysql相关的要求。 看看下面的回复 灵剑 存储过程没有版本控制,版本迭代的时候要更新很麻烦。存储过程如果和外部程序结合起来用,更新的时候很难无感升级,可能需要停服。存储过程不利于将来分库分表。存储过程的功能不一定够强大,业务扩展之后可能会发 阅读全文
posted @ 2018-01-30 01:34 温柔的风 阅读(3400) 评论(0) 推荐(1) 编辑
摘要:一、安装Nginx ①安装依赖扩展 ②下载Nginx源码包 ③创建用户名和用户组 ④解压并安装 ⑤启动nginx服务 ⑥关闭防火墙或者开放80端口 访问IP,测试nginx是否安装成功 二、安装MySQL-5.7.19 ①下载安装包 ②创建mysql用户和用户组 ③解压安装包并创建data目录 ④初 阅读全文
posted @ 2018-01-30 00:32 温柔的风 阅读(281) 评论(0) 推荐(0) 编辑
摘要:什么是间隙锁当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁(NEXT-KEY)锁。危害因为Query执行过程中 阅读全文
posted @ 2018-01-21 16:41 温柔的风 阅读(9948) 评论(0) 推荐(0) 编辑
摘要:先做好准备,创建InnoDB引擎数据表,并添加了相应的索引 然后分别打开两个Mysql终端,设置autocommit自动提交为0,也就是关闭自动提交功能,事务隔离级别处于可重复读状态;查看一下表数据。 接下来在第一个终端执行update语句 然后第二个终端执行update语句 发现第二个终端处于阻塞 阅读全文
posted @ 2018-01-21 13:25 温柔的风 阅读(2839) 评论(1) 推荐(0) 编辑
摘要:Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查询日志中。long_query_time的默认为10,意识是运行10秒以上的语句(单位是秒,那么就是 阅读全文
posted @ 2018-01-20 18:34 温柔的风 阅读(424) 评论(0) 推荐(0) 编辑
摘要:ORDER BY 子句尽量使用Index方式排序,避免使用FileSort方式排序,尽可能在索引列上外城排序操作,遵照索引键的最佳左前缀。如果不在索引列上,FileSort有两种算法,Mysql就要启动双路排序和单路排序。 什么是双路排序和单路排序? 双路排序:Mysql4.1之前是使用双路排序,字 阅读全文
posted @ 2018-01-20 13:22 温柔的风 阅读(3937) 评论(0) 推荐(0) 编辑
摘要:看以上两个for循环,总共循环的次数是一样的。但是对于mysql数据库而言,并不是这样了,我们尽量选择第②个for循环,也就是小表驱动大表。数据库最伤神的就是跟程序链接释放,第一个建立了10000次链接,第二个建立了50次。假设链接了两次,每次做上百万次的数据集查询,查完就走,这样就只做了两次;相反 阅读全文
posted @ 2018-01-19 18:17 温柔的风 阅读(3676) 评论(0) 推荐(1) 编辑
摘要:Explain简称执行计划,可以模拟SQL语句,来分析查询语句或者表结构是否有性能瓶颈。Explain的作用有哪些,可以看到哪些?可以看到表的读取顺序,数据读取操作的操作类型,哪些索引可以使用,哪些索引被实际应用,表之间的引用,每张表有多少行被优化器查询。 准备工作 DROP TABLE IF EX 阅读全文
posted @ 2018-01-19 16:32 温柔的风 阅读(414) 评论(0) 推荐(0) 编辑
摘要:接上一篇文章http://www.cnblogs.com/wt645631686/p/8310891.html,虽然已经在原有两台mycat基础上增加了Haproxy作为mycat的中间服务器,不足的是,如果仅仅的一台Haproxy服务器宕机掉,整个架构也就没法运行。 一、准备两台Haproxy服务 阅读全文
posted @ 2018-01-18 23:06 温柔的风 阅读(1946) 评论(0) 推荐(0) 编辑
摘要:既然大家都知道了Mysql分布式在大型网站架构中的作用,在这里就不再阐述。本片博客文章是基于我曾经搭建过的一个Mysql集群基础上实现的,实现过双主热备、读写分离、分库分表。 博客链接:http://www.cnblogs.com/wt645631686/p/6868766.html。 环境 cen 阅读全文
posted @ 2018-01-18 16:31 温柔的风 阅读(1646) 评论(1) 推荐(0) 编辑
摘要:在搭建Mysql主从架构过程中,由于从服务器是克隆的主服务器系统,导致主从mysql uuid相同, Slave_IO无法启动,报错如下: The slave I/O thread stops because master and slave have equal MySQL server UUID 阅读全文
posted @ 2018-01-18 14:44 温柔的风 阅读(5136) 评论(0) 推荐(1) 编辑
摘要:Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间。共享表空间以及独立表空间都是针对数据的存储方式而言的。 共享表空间某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目录下。 默认的文件名为 阅读全文
posted @ 2018-01-10 13:34 温柔的风 阅读(9466) 评论(1) 推荐(3) 编辑
摘要:在进行网站设计的时候,有时候会遇到给用户大量发送短信,或者订单系统有大量的日志需要记录,还有做秒杀设计的时候,服务器无法承受这种瞬间的压力,无法正常处理,咱们怎么才能保证系统正常有效的运行呢?这时候我们就要引用消息队列来实现这类的需求,这时候就需要一个中间的系统进行分流和解压。消息队列就是一个中间件 阅读全文
posted @ 2018-01-08 16:38 温柔的风 阅读(1414) 评论(5) 推荐(1) 编辑
摘要:1:使用预处理语句防止SQL注入2:写入数据库的数据要进行特殊字符的转义,比如字符中带单引号和双引号需要在应用层转义,这样为了防止SQL注入3:查询的错误信息不要返回给用户,将错误记录到日志。错误信息不要显示到应用中,这样用户会获取到数据库信息,这样就是不安全,我们要把错误屏蔽,定期排查错误看日志就 阅读全文
posted @ 2018-01-04 17:29 温柔的风 阅读(237) 评论(0) 推荐(0) 编辑
摘要:MySQL的四种事务隔离级别SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不 阅读全文
posted @ 2018-01-04 17:00 温柔的风 阅读(339) 评论(0) 推荐(0) 编辑
摘要:索引的基础概念索引类似于书籍的目录,要想找到一本书的某个特定主题,需要先查找书的目录,定位对应的页码;存储引擎使用类似的方式进行数据查询,先去索引当中找到对应的值,然后根据匹配的索引找到对应的数据行 索引对性能的影响大大减少服务器需要扫描的数据量、帮助服务器避免排序和临时表、将随机I/O变成顺序I/ 阅读全文
posted @ 2018-01-04 15:28 温柔的风 阅读(222) 评论(0) 推荐(0) 编辑
摘要:为什么要架设读写分离,这里不做多余的说明,想了解具体原理,请百度或者参考其他帖子。在这里只做大概的配置说明,测试中使用三台服务器 192.168.136.142 主服务器 192.168.136.143 从服务器 192.168.136.144 中间服务器 解压安装的方式安装 https://dow 阅读全文
posted @ 2017-12-27 10:50 温柔的风 阅读(552) 评论(0) 推荐(0) 编辑
摘要:基于GTID的复制是从Mysql5.6开始支持的一种新的复制方式,此方式与传统基于日志的方式存在很大的差异,在原来的基于日志的复制中,从服务器连接到主服务器并告诉主服务器要从哪个二进制日志的偏移量开始执行增量同步,这时我们如果指定的日志偏移量不对,这与可能造成主从数据的不一致,而基于GTID的复制会 阅读全文
posted @ 2017-12-27 10:50 温柔的风 阅读(8161) 评论(0) 推荐(0) 编辑
摘要:在配置Mysql主从GTID模式下,启动Mysql服务时出现报错,搜索了一番,找到了一个简单可靠的方法,直接成功。如果遇到相同问题没有解决的童鞋,那就去试一下很多其他方案,如,强制杀掉进程重启,修改其他配置项等等。。。。 然后通过mysql的配置文件my.cnf查看一下mysql的数据存储目录位置, 阅读全文
posted @ 2017-12-26 10:57 温柔的风 阅读(13011) 评论(0) 推荐(0) 编辑
摘要:关于主从过滤,建议只在从服务器做设定,在Master 端为保证二进制日志的完整, 不建议使用二进制日志过滤。 Master 可用参数: Slave 可用参数: 举例: 在从服务器my.cnf配置文件设定 设定完毕重启mysql服务之后,用命令行查看slave状态 然后在主服务器试着创建一个数据库,创 阅读全文
posted @ 2017-12-26 10:13 温柔的风 阅读(231) 评论(0) 推荐(0) 编辑