Quantcast
Channel: iMySQL | 老叶茶馆 - MySQL FAQ
Browsing all 60 articles
Browse latest View live

[MySQL FAQ]系列 -- 用MySQL实现发号器

问题:用MySQL实现发号器功能,确保每次取到的ID号都是唯一的实现:下面是一个大致的思路,抛个砖,欢迎回帖。根据号段大小,决定是否分成多个表,每个表事先填充各个不同的号段。每个应用端取号时,设置事务隔离级别为:REPEATABLE READ,并且采用下面的方式读取数据 SELECT `ID` FROM `ID_RANGE_XX` ORDER BY ID LIMIT 1 FOR UPDATE...

View Article


[MySQL优化案例]系列 -- InnoDB主键设计

众所周知,InnoDB是clustered-index table,因此对于InnoDB而言,主键具有特殊意义。可以通过主键直接定位到对应的某一数据行记录的物理位置,主键索引指向对应行记录,其他索引则都指向主键索引;因此,可以这么说,InnoDB其实就是一个 B-树索引,这棵B-树的索引就是主键,它的值则是对应的行记录。在InnoDB数据表设计中,我们需要注意几点:1. 显式的定义一个 INT...

View Article


[MySQL FAQ]系列 -- MySQL执行ALTER TABLE导致读不一致性问题

转发一下某网友(Howard)的来信,先讨论一下,稍后再给结论 你好: 我现在有个关于mysql的问题一点思路都没有,想问下你,麻烦你有时间了看下。另外你一般有没有一个活跃的论坛或者小组之类的?mysql的版本是Server version: 5.1.51-community-log MySQL Community Server...

View Article

使用Percona Xtrabackup备份SLAVE数据

现在我们可以很方便的用Xtrabackup取代ibbackup,作为innodb的在线热备工具使用。通常,我们会选择在SLAVE上进行备份,以减小MASTER的压力。 innobackupex是封装后的perl脚本,用于调度xtrabackup进行备份,附加了不少辅助功能,非常实用,下面是一个常见的innobackupex备份例子: ### ### innobackupex example ###...

View Article

Image may be NSFW.
Clik here to view.

[MySQL FAQ]系列-net_buffer_length选项对数据备份及恢复影响

有一次和朋友讨论到 net-buffer-length 可能对mysqldump导出及恢复有影响,对此测试了一下,发现影响很小,基本可以忽略不计,下面是对比测试结果。说明:执行mysqldump时,net buffer...

View Article


[MySQL FAQ]系列-关于连接MySQL报错lost connection 和 gone away

一般频繁出现的话,才需要关注,一天出现几次属于正常情况。频繁出现的原因一般有: 1. 网络,包括网络质量,服务器网卡驱动,程序连接数据库方式:ODBC/API,都是有区别的;这里的网络问题,可能出现在客户端,也可能出现在服务端 2. 如果使用ODBC的话,还需要注意部分ODBC版本可能存在bug,导致有问题 3....

View Article

[MySQL FAQ]系列-关于设置innodb buffer pool size

按照惯例,如果前端应用程序采用长连接的话,那么innodb buffer pool最高可设置为物理内存大小的80%。不过部分在线DB由于并发连接数较高,每个线程分配的内存较多,或由于业务上升,并发事务数突然较大幅度提升,加上innodb buffer pool较大,导致了严重的内存交换(swap)发生。鉴于此,我们建议在这些活跃度较高/并发连接数较高的在线DB服务器上,适当调低innodb...

View Article

TPCC-MySQL使用手册

一、 下载工具包 Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试,其源码放在bazaar(Bazaar是一个分布式的版本控制系统,采用 GPL 许可协议,可运行于 Windows、GNU/Linux、UNIX 以及 Mac OS 系统之上。Bazaar 由 Canonical...

View Article


InnoDB引擎数据表压缩特性测试

一、前言 Innodb Plugin引擎开始引入多种格式的行存储机制,目前支持:Antelope、Barracuda两种。其中Barracuda兼容Antelope格式。另外,Innodb plugin还支持行数据压缩特性,不过前提是采用Barracuda行存储格式。表空间启用压缩的前提是innodb表空间文件存储格式修改成:Barracuda,需要修改2个选项:...

View Article


infobright下如何使用utf8字符集

目前infobright应用越来越多了,有些场景下需要和台管理系统共用,因此需要同时存在brighthouse和myisam两种引擎。这时候,如果需要brighthouse引擎支持utf8字符集,需要: 1. 数据库对象创建时务必使用utf8字符集,这点尤为关键,否则不可支持utf8; 2. 数据表对象创建时也使用utf8字符集; 3. 导入文件提前转换成utf8字符集; 4....

View Article

Image may be NSFW.
Clik here to view.

[MySQL FAQ]系列-字符集兼容性测试

之前做过的兼容性测试结果:技术相关: MySQL基础知识MySQL FAQmysql字符集

View Article

[MySQL FAQ]系列 -- 新手必看:一步到位之InnoDB

前言:MySQL发展到今天,InnoDB引擎已经作为绝对的主力,除了像大数据量分析等比较特殊领域需求外,它适用于众多场景。然而,仍有不少开发者还在“执迷不悟”的使用MyISAM引擎,觉得对InnoDB无法把握好,还是MyISAM简单省事,还能支持快速COUNT(*)。本文是由于最近几天帮忙处理discuz论坛有感而发,希望能对广大开发者有帮助。1. 快速认识InnoDB...

View Article

Image may be NSFW.
Clik here to view.

MySQL 5.6 测试之 Replication(主从复制)

MySQL 5.6测试之Replication一、简述 MySQL 5.6版本相比以前新增了很多令人激动的特性,简要介绍见:转:MySQL 5.6新特性。性能方面已经做过测试了,详细请见:MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试。接下来继续测试其Replication(主从复制)功能,看看是否依旧能让人激动。二、测试环境...

View Article


[MySQL FAQ]启用SELinux后,PHP连接MySQL异常

同事报告一起奇怪的现象,一个最简单的测试PHP代码,在测试环境很正常,但是在正式环境下,无论用何种方式(tcp/ip、unix socket)都无法连接mysql。我协助查看了下,确实如此,无论是指定IP、端口的tcp/ip方式连接,或者是用unix socket方式连接,报错信息都类似: Could not connect: Can't connect to MySQL server on...

View Article

MySQL TPCH测试工具简要手册

tpch是TPC(Transaction Processing Performance...

View Article


分享:服务器基准测试

之前在群里说要整理基准测试分享文档,近期花了几天时间终于整理完毕,上传到slideshare上:服务器基准测试-叶金荣@CYOU-20121130.pdf,本意是让圈内人士在做服务器基准测试时的标准、参数、方法能尽可能统一,相互沟通时也能有共同语言,有更多可比性。非专业人士整理,欢迎拍砖,O(∩_∩)O哈哈~更新:微盘下载地址:http://t.cn/zjpQMcH技术相关: MySQL...

View Article

[MySQL FAQ]系列 -- 启用GTID & binlog新安装完的MySQL提示无法登录

问:刚刚新安装的MySQL,提示下面信息,无法登入,怎么回事? [root@imysql mysql]# mysql mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 答:数据库已经执行过 mysql_install_db 初始化了,按理说应该没问题。经过排查,发现...

View Article


[MySQL FAQ]系列 -- mysqldump选项之skip-opt

最近在用mysqldump备份时,想要把数据表和数据分开备份,因此做了2次备份。执行备份数据库表结构时,指定了 --skip-opt 选项,相当于禁用下面几个参数: --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and...

View Article

[MySQL FAQ]系列 -- utf8表存储latin1乱码字符转换

线上有个数据表,字符集是utf8,但由于环境不统一的原因,导致实际上数据表存储的内容是latin1内码的数据。也就是说,借着utf8的壳子,实际存储着latin1字符集的数据。在这种情况下,需要注意几个字符集配置:客户端终端工具(SecureCRT)的显示字符集设置为:utf-8,Linux终端(TERM)下,设置LANG环境变量为:en_US.UTF-8,或者zh_CN.UTF-8,连接到MySQ...

View Article

[MySQL FAQ]系列 -- 几种常见MySQL无法启动案例

昨天在群里看到有新同学还在问MySQL无法启动的问题,于是总结了几个常见情况,权当普及帖了,老鸟自觉飞过。问题1:目录、文件权限设置不正确MySQL的$datadir目录,及其下属目录、文件权限属性设置不正确,导致MySQL无法正常读写文件,无法启动。错误信息例如: mysqld_safe Starting mysqld daemon with databases from...

View Article
Browsing all 60 articles
Browse latest View live