随笔分类 -  MySQL

摘要:摘要: 今天左哥问起一个float浮点数类型的问题,这个类型用的不多,所以也不太了解,现在打算测试下。知识点: float:浮点数,单精度,占4字节。测试root@localhost : test 05:49:32>create table fl(id int,fl float);Query OK, 0 rows affected (0.05 sec)root@localhost : test 05:49:40>insert into fl values(1,123456);Query OK, 1 row affected (0.00 sec)root@localhost : te 阅读全文
posted @ 2013-04-26 00:23 jyzhou 阅读(58725) 评论(2) 推荐(2) 编辑
摘要:原文来自:http://insidemysql.blog.163.com/blog/static/202834042201331812050259/学习作者的处理事情的精神。前段时间遇到一个问题,DBA反映有台MySQL数据库非常诡异,在无任何操作的前提下,磁盘IO负载都几乎跑满。然后跑了3、4个小时磁盘负载依旧。DBA的初步判断认为是RAID卡出了问题(之前遇到过类似RAID卡BBU问题导致负载较高)。不过既然是数据库无任何操作,那么即使RAID卡出现问题,也不应该出现这个问题。因此在调查了问题现场后,询问了DBA之前做了哪些操作,之后我便大致定位到了问题所在。DBA的反馈是之前在做sysb 阅读全文
posted @ 2013-04-23 22:09 jyzhou 阅读(965) 评论(0) 推荐(0) 编辑
摘要:摘要: sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。目前支持的数据库有MySQL、Oracle和PostgreSQL。当前功能允许测试的系统参数有: 安装: 1):Ubuntu系统可以直接apt,如: 2):其他系 阅读全文
posted @ 2013-04-19 12:15 jyzhou 阅读(35323) 评论(1) 推荐(6) 编辑
摘要:摘要: 今天遇到一个奇怪的现象:通过全文检索的方法找不到关键"new"的数据,但是能找到"news"、"ne"”的记录。至于为什么找不到是以为没有"new"这个单词。之后在表里面看到是有new单词的。之后测试了好久,对全文索引(fulltext)知识点进行了复习[18章],结果还是不知道原因。最后发... 阅读全文
posted @ 2013-04-18 14:02 jyzhou 阅读(3600) 评论(1) 推荐(1) 编辑
摘要:摘要: 按照上一篇文章的信息,对MySQL5.5的my.cnf 进行了配置(Slave服务器):my.cnf:[client]port = 3306socket = /var/run/mysqld/mysqld.sock[mysqld_safe]socket = /var/run/mysqld/mysqld.socknice = 0[mysqld]# * Basic Settingsuser = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/r... 阅读全文
posted @ 2013-04-18 09:10 jyzhou 阅读(2440) 评论(0) 推荐(1) 编辑
摘要:怎么理解Index_Condition_Pushdown? Index Condition Pushdown (ICP)是MySQL用索引去表里取数据的一种优化。如果禁用ICP,引擎层会穿过索引在基表中寻找数据行,然后返回给MySQL Server层,再去为这些数据行进行WHERE后的条件的过滤。I 阅读全文
posted @ 2013-04-16 18:09 jyzhou 阅读(8130) 评论(2) 推荐(5) 编辑
摘要:MySQL5.5 针对 MySQL5.1 各个方面提升了很多,特别在性能和一些新参数上面,现在看看大致提升了哪些方面,不全请补充。 阅读全文
posted @ 2013-04-11 14:27 jyzhou 阅读(3732) 评论(0) 推荐(2) 编辑
摘要:http://www.woqutech.com/?p=7691. 概述 很多企业选择 MySQL都会担心它的数据丢失问题,从而选择Oracle,但是其实并不十分清楚什么情况下,各种原因导致MySQL会丢失部分数据。本文不讨论 Oracle和MySQL的优劣,仅仅关注MySQL丢失数据的几种情况。希望能够抛砖引玉,让各位MySQL大牛们梳理出MySQL最安全或者性价比合 适的适合各种应用场景的方案。 2. 问题定义 一般我们希望把一系列的数据作为一个原子操作,这样的话,这一系列操作,要么提交,要么全部回滚掉。当我们提交一个事务,数据库要么告诉我们事务提交成功了,要么告诉我们提交失败。数 据库为了 阅读全文
posted @ 2013-04-10 10:22 jyzhou 阅读(1049) 评论(0) 推荐(1) 编辑
摘要:http://www.penglixun.com/tech/database/the_process_of_mysqldump.html#8211single-transaction_opt_single_transactionmysqldump的流程 阅读全文
posted @ 2013-04-01 10:18 jyzhou 阅读(350) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/zuoxingyu/archive/2013/03/15/2960862.html 阅读全文
posted @ 2013-03-21 11:16 jyzhou 阅读(309) 评论(0) 推荐(0) 编辑
摘要:背景: 数据库链接不上,报错: root@localhost:/var/log/mysql# mysql -uzjy -p -h192.168.1.111 --default-character-set=utf8 -P3306 Enter password: ERROR 2013 (HY000): 阅读全文
posted @ 2013-01-31 18:43 jyzhou 阅读(33079) 评论(2) 推荐(0) 编辑
摘要:前言: 二进制日记录了数据库执行更改的操作,如Insert,Update,Delete等。不包括Select等不影响数据库记录的操作,因为没有对数据进行修改。二进制主要的功能有:复制(Replication)和恢复(Recovery)。具体的二进制里面的格式表示的意思请见这篇文章。 MySQL记录... 阅读全文
posted @ 2013-01-15 15:37 jyzhou 阅读(9374) 评论(3) 推荐(2) 编辑
摘要:前言: 继上一篇MySQL【Delete误操作】回滚之后,现在介绍下Update回滚,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里说明因为Update 操作的恢复方法:主要还是通过binlog来进行恢复 阅读全文
posted @ 2012-12-26 23:17 jyzhou 阅读(34760) 评论(2) 推荐(6) 编辑
摘要:前言: 操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里先说明下因为Delete 操作的恢复方法:主要还是通过binlog来进行恢复,前提是binlog_format必须是Row格式,否则只能通过备份来恢复数据了。方法: 条件:开启Binlog,Format为Row。 步骤:1.通过MySQL自带工具mysqlbinlog 指定导出操作的记录:mysqlbinlog --no-defaults --start-datetime='2012-12-25 14:56:00' --stop- 阅读全文
posted @ 2012-12-25 15:59 jyzhou 阅读(27822) 评论(1) 推荐(2) 编辑
摘要:说是MySQL关于timestamp和mysqldump的一个“bug”,其实是MySQLdump 的时候 对timestamp 类型字段的一个转换问题,一直都没注意。看到这篇文章就知道遇到问题如何处理了。来自:http://dinglin.iteye.com/blog/1747685复现来源于一个同事在做数据转储碰到的的问题,简化如下:1、建表drop table if exists tb;CREATE TABLE tb ( c timestamp NOT NULL DEFAULT '0000-00-00 00:00:00') ENGINE=InnoDB DEFAULT CH 阅读全文
posted @ 2012-12-14 18:33 jyzhou 阅读(538) 评论(0) 推荐(0) 编辑
摘要:背景:MySQL5.5之前的复制都是异步复制,在服务器崩溃时丢失事务是使用异步复制不可避免的结果。而5.5的一项新功能:半同步复制可以限制事务丢失的数量。半同步复制的原理是:提交事务的线程会被锁定,直到至少一个Slave收到这个事务,由于事务的事件在被提交到存储引擎之后才被发送到Slave上,所以事务的丢失数量可以下降到最多每线程一个。安装、配置:半同步复制模式必须在主服务器和从服务器端同时启用,否则主服务器默认使用异步复制模式。1,在Master上装插件:install plugin rpl_semi_sync_master soname 'semisync_master.so 阅读全文
posted @ 2012-12-11 18:39 jyzhou 阅读(1833) 评论(0) 推荐(0) 编辑
摘要:本文来自:http://chenxu.yo2.cn/articles/mysql_table_cache.html一、状态值和变量:1.1在MySQL的show status中有2个状态值:Open_tables和Opened_tables。这2个值代表的意思如下:Open_tables :代表当前打开表的数量。Opened_tables:代表自从MySQL启动后,打开表的数量。关于MySQL怎么打开关闭表的具体细节参考文档:<How MySQL Opens and Closes Tables>。(1)对于myisam存储引擎,打开1张表需要2个文件描述符(一个.MYD文件,一个. 阅读全文
posted @ 2012-11-29 18:28 jyzhou 阅读(4873) 评论(0) 推荐(0) 编辑
摘要:看完<高可用性 MySQL>的第三章,对二进制日志有加深了一些认识,现在总结下知识点。知识点:1:二进制日志是公共资源,所有的线程都向它写入语句,避免两个线程同时更新二进制日志。在写二进制日志前,需要获得一个互斥锁,在事件完成后释放。由于服务器的所有线程都向二进制日志写语句,所以这个锁会常常阻塞某些 阅读全文
posted @ 2012-11-19 13:51 jyzhou 阅读(2054) 评论(0) 推荐(1) 编辑
摘要:背景: 用innodb_table_monitor来查看表内部的存储信息和索引结构是一个好的办法。再之前的MySQL 字符串主键和整型主键分析中提到了一些内容,但没有细讲,现在来好好的分析下。使用方法: 建立一张 innodb_table_monitor的表:create table inn... 阅读全文
posted @ 2012-11-03 17:32 jyzhou 阅读(2458) 评论(0) 推荐(1) 编辑
摘要:前言: 今天有个项目需要合并(A合并到B),我所做的就是数据库的合并操作,其中出现的主要问题就是乱码的问题。乱码这个问题是很常见的问题,今天整理了下自己所理解的一点见解。案例: NAMECOMPANYRNAMEAthe Feed Institute, CAAStiezhengyuanB??����?... 阅读全文
posted @ 2012-11-01 14:59 jyzhou 阅读(9943) 评论(0) 推荐(1) 编辑