201604-10 MySQL 性能优化,让数据库跑的更快 在数据库优化工作中,使数据尽可能的小,使表在硬盘上占据的空间尽可能的小,这是最常用、也是最有效的手段之一。因为缩小数据,相对来说可以提高硬盘的读写速度,并且在查询过程中小表的内容处理时所占用的系统资源比较少。同理,如果在比较小的列上设置索引的话,其索引所占用的资源也会比较少。那么数据库管理员该如何给自己的数据减肥呢?对此笔者有如下几个建议。 建议一:空值并不一定不占用空间 在这里笔者... 继续阅读 >
201512-09 linux下导入导出mysql数据库命令 一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构:mysqldump-u用户名-p密码数据库名>数据库名.sql#/usr/local/mysql/bin/ mysqldump-uroot-pabc>abc.sql敲回车后会提示输入密码2、只导出表结构mysqldump-u用户名-p密码-d数据库名>数据库名.sql#/usr/local/mysql/bin/ mysqldump-uroot-p-dabc>abc.sql注:/usr/local/mysql/bin/&nbs... 继续阅读 >
201512-09 Linux启动、停止、重启Mysql数据库的方法 1、查看mysql版本方法一:status;方法二:selectversion();2、Mysql启动、停止、重启常用命令a、启动方式1、使用service启动:[root@localhost/]#servicemysqldstart(5.0版本是mysqld)[root@szxdbetc]#servicemysqlstart(5.5.7版本是mysql)2、使用mysqld脚本启动:/etc/inint.d/mysqldstart3、使用safe_mysqld启动:safe_mysqld&b、停止1、使用service启动:servicemysqldstop2、使用mysqld脚本启动... 继续阅读 >
201512-02 MySQL时间日期查询方法与函数 MySQL应用中,日期与查询是非常普遍的。比如要查某天、某个星期、或者某个月内的数据,查询两个日期之间的天数差,查询某天是星期几等等。下面就介绍一下相关的MySQL时间与日期函数,与它们的具体使用方法。NOW()函数MYSQL有没有像MSSQL的getdate()函数?有,就是NOW()。mysql>SELECTnow();+---------------------+|now()|+---------------------+|2011-10-2709:49:42|+---------------------+1ro... 继续阅读 >
201511-26 不停止 MySQL 服务增加从库的两种方式 现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库。前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作。一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长。另一种是通过xtrabackup工具备份主库,恢复到从库,xtrabackup是物理备份,备... 继续阅读 >
201511-17 MySQL 主从复制的原理和配置 工作原理图:主从复制的原理:分为同步复制和异步复制,实际复制架构中大部分为异步复制。复制的基本过程如下:1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;2).Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave的IO进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信... 继续阅读 >
201511-10 磁盘空间满了之后MySQL会怎样 导读当磁盘空间爆满后,MySQL会发生什么事呢?又应该怎么应对?会发生什么事当磁盘空间写满了之后,MySQL是无法再写入任何数据的,包括对表数据的写入,以及binlog、binlog-index等文件。当然了,因为InnoDB是可以把脏数据先放在内存里,所以不会立刻表现出来无法写入,除非开启了binlog,写入请求才会被阻塞。当MySQL检测到磁盘空间满了,它会:应该怎么办那么,当发现磁盘空间满了之后,我们... 继续阅读 >
201510-21 在Linux下开启mysql慢查询,分析查询语句 一,为什么要开启这个查询呢?数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了。mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化。这也是发这篇博文的原因二,开启mysql的慢查询方法1,用命令开启慢查询mysql>showvariableslike"%long%";//查看一下默认为慢查询... 继续阅读 >
201510-07 不同场景下 MySQL 的迁移方案 一、为什么要迁移MySQL迁移是DBA日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地方,铸就内心神往的城堡。生产环境中,有以下情况需要做迁移工作,如下:磁盘空间不够。比如一些老项目,选用的机型并不一定适用于数据库。随着时间的推移,硬盘很有可能出现短缺;业务出现瓶颈。比如项目中采用单机承... 继续阅读 >
201508-28 PHP程序员的学习技术成长规划 按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不是基础非常扎实的情况进行的设定,并且所有设定都非常具体明确清晰,可能会让人觉得不适,请理解仅代表一家之言。(未来技术变化不在讨论范围)第... 继续阅读 >
201508-19 PHP MySQL 预处理语句 预处理语句对于防止MySQL注入是非常有用的。预处理语句及绑定参数预处理语句用于执行多个相同的SQL语句,并且执行效率更高。预处理语句的工作原理如下:预处理:创建SQL语句模板并发送到数据库。预留的值使用参数"?"标记。例如:INSERTINTOMyGuests(firstname,lastname,email)VALUES(?,?,?)数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出执行:最后,将应用绑定的值传递给参数(... 继续阅读 >
201508-04 MySQL开发规范之我见 大多数MySQL规范在网上也都能找得到相关的分享,在这里要分享的是老叶个人认为比较重要的,或者容易被忽视的,以及容易被混淆的一些地方。1、默认使用InnoDB引擎【老叶观点】已多次呼吁过了,InnoDB适用于几乎99%的MySQL应用场景,而且在MySQL5.7的系统表都改成InnoDB了,还有什么理由再死守MyISAM呢。此外,频繁读写的InnoDB表,一定要使用具有自增/顺序特征的整型作为显式主键。【参考】:[MySQLFAQ... 继续阅读 >
201507-28 8 个不得不说的 MySQL 陷阱 Mysql安装简单,速度较快,功能丰富。另外它还是开源运动的标杆,它的伟大成就向我们展示了一个成功的公司是可以建立在开源代码之上的。然而用过mysql的人都曾对着显示器挥舞过拳头。但你不可能发明一种每秒能保存成千上万行互联网数据,并且一点错误都没有的技术吧。为了在这个夏天躁起来,我们列举了8个抱怨开源关系型数据库的理由。下面列举的理由中不仅限于MySQL,有一些是针对关系型数据库的。如果我们没有理清楚关系型数... 继续阅读 >
201507-23 php 备份数据库类 <?php/******备份数据库结构******//****正好要研究如何备份数据库,分享一个php实现MYSQL备份的类库********//*函数名称:table2sql()函数功能:把表的结构转换成为SQL函数参数:$table:要进行提取的表名返回值:返回提取后的结果,SQL集合函数作者:heiyeluren*/functiontable2sql($table){global$db;$tabledump="DROPTABLEIFEXISTS$t... 继续阅读 >
201507-15 mysql 数据库优化技巧 mysql数据库优化 包括 a.表的设计合理化(符合3NF) b.添加适当索引(index[4种:普通索引主键索引唯一索引unique 全文索引]) c.分表技术(水平分割,垂直分割) d.读写[写:update/delete/add]分离 e.存储过程[模块化编程可以提高速度] 数据库的三层结构oraleMySQLdb2sqlserver php程序通过dbms(数据库管理系统)操作数据库文件,数据库执行相关操作返回给dbms,然后再返... 继续阅读 >
201507-09 MySQL 调优/优化的总结100个建议 MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供101条优化MySQL的建议。有些技巧适合特定的安装环境,但是思路是相通的。我已经将它们分成了几类以帮助你理解。MySQL监控MySQL服务器硬件和OS(操作系统)调优:1、有足够的物理内存,能将整个InnoDB文件加载到内存里——如果访问的文件在内存里,而不是在磁盘上,InnoDB会快很多。2、全力避免Swap操作—交换(swapping)是... 继续阅读 >