2016
06-07
06-07
MySQL 的日常使用
*nixos下配置文件一般存放位置Defaultoptionsarereadfromthefollowingfilesinthegivenorder:/etc/my.cnf,/etc/mysql/my.cnf,/usr/local/etc/my.cnf,~/.my.cnf默认设置按一下顺序读取:/etc/my.cnf,/etc/mysql/my.cnf,/usr/local/etc/my.cnf,~/.my.cnfUbuntu下的启动,停止与重启启动方式:方式一:sudo/etc/init.d/mysqlstart方式二:sudostartmysql...
继续阅读 >
1.为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例://查询缓存不开启$r=mysql_...
在数据库优化工作中,使数据尽可能的小,使表在硬盘上占据的空间尽可能的小,这是最常用、也是最有效的手段之一。因为缩小数据,相对来说可以提高硬盘的读写速度,并且在查询过程中小表的内容处理时所占用的系统资源比较少。同理,如果在比较小的列上设置索引的话,其索引所占用的资源也会比较少。那么数据库管理员该如何给自己的数据减肥呢?对此笔者有如下几个建议。 建议一:空值并不一定不占用空间 在这里笔者...
MySQL应用中,日期与查询是非常普遍的。比如要查某天、某个星期、或者某个月内的数据,查询两个日期之间的天数差,查询某天是星期几等等。下面就介绍一下相关的MySQL时间与日期函数,与它们的具体使用方法。NOW()函数MYSQL有没有像MSSQL的getdate()函数?有,就是NOW()。mysql>SELECTnow();+---------------------+|now()|+---------------------+|2011-10-2709:49:42|+---------------------+1ro...
现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库。前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作。一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长。另一种是通过xtrabackup工具备份主库,恢复到从库,xtrabackup是物理备份,备...
工作原理图:主从复制的原理:分为同步复制和异步复制,实际复制架构中大部分为异步复制。复制的基本过程如下:1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;2).Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave的IO进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信...
一、为什么要迁移MySQL迁移是DBA日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地方,铸就内心神往的城堡。生产环境中,有以下情况需要做迁移工作,如下:磁盘空间不够。比如一些老项目,选用的机型并不一定适用于数据库。随着时间的推移,硬盘很有可能出现短缺;业务出现瓶颈。比如项目中采用单机承...
预处理语句对于防止MySQL注入是非常有用的。预处理语句及绑定参数预处理语句用于执行多个相同的SQL语句,并且执行效率更高。预处理语句的工作原理如下:预处理:创建SQL语句模板并发送到数据库。预留的值使用参数"?"标记。例如:INSERTINTOMyGuests(firstname,lastname,email)VALUES(?,?,?)数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出执行:最后,将应用绑定的值传递给参数(...