-
原版MySQL中如何恢复单个InnoDB数据库表
所属栏目:[MySql教程] 日期:2016-10-13 热度:113
Percona 中的 xtrabackup 真是个好工具, 简单的介绍的他的功能: 1、创建热备份(主要依靠innodb的 crash recovery 功能) 2、增量备份 3、直接对备份文件压缩打包 4、负载小 在测试最新版本2.0时,发现问题: importing and exporing individual tables[详细]
-
MySQL中删除大表的性能问题
所属栏目:[MySql教程] 日期:2016-10-13 热度:106
微博上讨论MySQL在删除大表engine=innodb(30G+)时,如何减少MySQL hang的时间,现做一下简单总结:(微博地址:http://weibo.com/1642466057/yuPz2guYJ) 当buffer_pool很大的时候(30G+),由于删除表时,会遍历整个buffer pool来清理数据,会导致MySQL[详细]
-
MySQL中如何批量修改表字段属性
所属栏目:[MySql教程] 日期:2016-10-13 热度:56
测试库中有将近300张表,其中有278张表的fid,uid字段需要作出修改。 解决办法是自动生成修改字段属性的SQL语句。 用于生成SQL的语句: select CONCAT('alter table ',TABLE_NAME,' modify ',COLUMN_NAME,' varchar(50) ;') from information_schema.COLUMN[详细]
-
MySQL中的行复制
所属栏目:[MySql教程] 日期:2016-10-13 热度:121
MySQL基于行的复制可以最大化保证主从复制的一致性,对于RBR(基于行复制) 和SBR(基于语句复制),相信大家已经很熟知,下面记录的是行复制在二进制日志总记录的情况。 基于行的复制是与位置相关的,binlog里面只记录相关表发生改变的列的数据。其中引入[详细]
-
MySQL 5.5的半同步复制
所属栏目:[MySql教程] 日期:2016-10-13 热度:115
在保证数据库性能的前提下,怎么保证数据的一致性呢? 在MySQL 5.5版本中即支持异步复制又支持半同步复制。 1、当slave 连接master的时候,它会指出它是否支持半同步复制。 2、当master启用 semisynchronous replication.并且至少有一台slave也启用了该功[详细]
-
MySQL中的主从复制一致性检测
所属栏目:[MySql教程] 日期:2016-10-13 热度:176
在MySQL主从复制过程中,常常需要对某些重要的表进行一致性检查。 由于主从数据在同步时存在一定的延迟,因此直接读取服务器数据的方式无法严格保证信息的一致性。在数据在同步完全结束之前,一直处于不断变化且并不完整的状态下。锁表的可能实现这个问题[详细]
-
MySQL中的异常信息诊断
所属栏目:[MySql教程] 日期:2016-10-13 热度:126
今天要介绍的是Percona中的pt-stalk工具。 有些问题间歇性的发生,监控信息也许根本来不及采集信息,MySQL的锁定或活动的高峰通常没有留下任何数据来分析。这个是pt-stalk存在的意义, Pt-stalk 会监测一个触发条件,然后收集相关信息,该工具会将信息写入[详细]
-
MySQL主从复制的延迟监测
所属栏目:[MySql教程] 日期:2016-10-13 热度:185
主从复制延迟的监测,我以前的做法是通过比较show slave statusG中的两个变量的差值(Read_Master_Log_Pos,Exec_Master_Log_Pos),将差值设置为一个自己认为合理的范围,Seconds_Behind_Master 没有适用过,今天做一次解析: Seconds_Behind_Master 是通[详细]
-
MySQL的日常整理
所属栏目:[MySql教程] 日期:2016-10-13 热度:63
记录工作的点点滴滴: 今天遇到case 1: 在测试机上,start slave 出现假死现象,数据库能够连接, show processlist;显示:队列等待master 从错误日志里面看到: 120831 16:20:59 [ERROR] /usr/local/mysql3307/libexec/mysqld: Disk is full writing './m[详细]
-
MySQL多IDC部署的注意事项
所属栏目:[MySql教程] 日期:2016-10-13 热度:94
目前暂时还没有哪款数据库产品是专门针对跨IDC进行的优化,在理论上被业界认为最优的方案是采用基于Paxos协议(暂时只有google做出了实现,google f1),今天只讨论MySQL在这方面的注意事项: 对于跨IDC的情况基本都会设计到以下问题: 1、MySQL多IDC的数[详细]
-
MySQL中如何避免使用SWAP
所属栏目:[MySql教程] 日期:2016-10-12 热度:163
当物理内存的数量不能容纳数据的时候,os会把虚拟内存中的数据写到磁盘上,此时的交换对于运行在操作系统中的进程是透明的。 交换对与MySQL性能有很大的影响,对于Innodb存储引擎它对内存中的数据锁住全局互斥量,如果此时导致了磁盘的IO,那么所有的动作[详细]
-
MySQL准备语句:Prepared Statements
所属栏目:[MySql教程] 日期:2016-10-12 热度:107
MySQL准备语句(Prepared Statements), 使用增强的二进制客户端/服务器协议在客户端和服务器之间高效的发送数据,可以通过支持这种行协议的编程库来访问准备语句。 创建准备语句时,客户端库会像服务器发送一个实际查询的原型,然后服务器对该原型进行解析[详细]
-
关于MongoDB schema-free vs MySQL DDL
所属栏目:[MySql教程] 日期:2016-10-12 热度:178
文档数据库(Document-orient Database)支持Schema-Free,他的一行记录格式为:{name: 外观设计, value: 直板}},实际上是使用KEY/VALUE存储的mongo采用的是BSON二进制编码,因此空间上来说应该会比JSON省一些的,解析的时候按照JSON解析。每一个Document都[详细]
-
关于MySQL Innodb_flush_method
所属栏目:[MySql教程] 日期:2016-10-12 热度:125
innodb_flush_log_at_trx_commit 决定了事务日志何时write,flush innodb_flush_method确定了日志及数据文件如何write、flush。show variables显示该变量为空,那说明被设置了默认值(fdatasync) 下面我们先从Linux IO上理解一下文件是如何打开、写入、刷[详细]
-
对MySQL中误操作的思考
所属栏目:[MySql教程] 日期:2016-10-12 热度:77
作为一名DBA需要有着严谨的工作态度。 两台测试DB Server A, Server B, 默认存储引擎InnoDB.有这样一个需求:需要将A中所有的表结构同步到B中。当时是这样做的: mysqldump -no-data...... 导出mysql表的文件后结果又将这些文件应用到了Server A 中,可想[详细]
-
高并发下的MySQL解析
所属栏目:[MySql教程] 日期:2016-10-12 热度:63
工作中进行SQL优化的情况下,常常有这样的问题,SQL已经全部利用索引,请求的数据量较小, 总的数据量不大的情况下,仍有很多慢查询的出现(我们规定是20ms)。这个时候就要关注我们的并发量,事务锁,的情况。 对于游戏来说,DB存在大量的insert 、update[详细]
-
如何把MySQL服务添加到服务器的系统服务中
所属栏目:[MySql教程] 日期:2016-10-12 热度:84
1、了解MySQL程序路径 MySQL数据目录: /home/mysql/data MySQL程序目录:/usr/local/mysql5 2、修改MySQL服务启动程序 [root@lyq314 ~]# vim /usr/local/mysql5/share/mysql/mysql.server 46 basedir=/usr/local/mysql5 47 datadir=/home/mysql/data 3、拷[详细]
-
MySQL 5.5.30的源码编译安装过程
所属栏目:[MySql教程] 日期:2016-10-12 热度:86
0、安装cmake [root@lyq314 ~]# tar -zxvf cmake-2.8.11.2.tar.gz [root@lyq314 cmake-2.8.11.2]# ./configure [root@lyq314 cmake-2.8.11.2]# make [root@lyq314 cmake-2.8.11.2]# make install 1、添加mysql用户和组 [root@lyq314 ~]#groupadd mysql [ro[详细]
-
mysql如何授权远程IP连接
所属栏目:[MySql教程] 日期:2016-10-12 热度:184
新安装的MySQL是默认不开户远程访问权限的,也就不能外部连接MySQL。这样对想远程调用MySQL的数据很不方便。下面我们来看下如何设置允许远程连接MySQL数据库。 登录MySQL mysql -uroot -p 如果无法登录可以使用find / -name mysql搜索mysql程序的路径,比[详细]
-
如何找回消失的InnoDB引擎
所属栏目:[MySql教程] 日期:2016-10-12 热度:66
夜里重做主从复制,顺便调整了下从库的my.cnf。早上想起从库忘了重启,打完命令接着开启slave,居然报错 Last_SQL_Errno: 1286 Last_SQL_Error: Error executing row event: 'Unknown storage engine 'InnoDB'' 奇怪,怎么会报错不知道存储引擎InnoDB。查[详细]
-
使用SHELL开发的CPU空闲率插件
所属栏目:[MySql教程] 日期:2016-10-11 热度:60
#!/bin/bash #=============================================== # Author : JC # Email : jiechao2013@gmail.com # ChangeLog : 2013.5.4 # # Description : Check the CPU-Utilization rate #=============================================== STATE_OK=[详细]
-
如何使用SHELL编写redis的启动脚本
所属栏目:[MySql教程] 日期:2016-10-11 热度:109
#!/bin/bash # # Init file for redis # From: JC# Email:jiechao2013@gmail.com# chkconfig: - 80 12 # description: redis daemon # # processname: redis # config: /opt/redis-2.6.4/redis.conf # pidfile: /var/run/redis.pid source /etc/init.d/fun[详细]
-
高性能的MySQL(8)优化服务器配置:内存
所属栏目:[MySql教程] 日期:2016-10-11 热度:67
配置MySQL服务器离不开配置文件,接下来就开始这一部分的内容。 首先一定要清楚配置文件的位置,如果不知道可以尝试下面的操作: /usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 'Default options' #结果如下 Default options are read from t[详细]
-
高性能的MySQL(8)优化服务器配置:并发和负载
所属栏目:[MySql教程] 日期:2016-10-11 热度:138
当MySQL遇到高并发时,可能会遇到不曾遇到的瓶颈。 一、InnoDB并发配置 InnoDB是为高性能设计的,在最近几年他的提升非常明显,但依然不完美。 InnoDB有自己的 线程调度器控制线程怎么进入内核访问数据,以及他们在内核中一次可以做哪些事情。最基本的限制[详细]
-
windows下如何彻底删除MySQL
所属栏目:[MySql教程] 日期:2016-10-11 热度:184
卸载mysql其实也是一门艺术 1)控制面板里卸载 2)如果你的操作系统用户名是Administrator则删除 C:Documents and SettingsAdministratorApplication DataMySQL 3)删除 C:Documents and SettingsAll UsersApplication DataMySQL 4)删除注册表 regedi[详细]