InnoDB数据表空间文件平滑迁移

前言

InnoDB存储引擎满足了MVCC和ACID特性,在需要支持事务的环境下必不可少。有些环境下,采用InnoDB可能效果比MyISAM还要来的好。不过,在很多人眼中看来,InnoDB表空间文件由于无法实现跨服务器平滑迁移,因此不愿意使用。实际情况真是这样吗?本文就来探讨一下InnoDB表空间文件的平滑迁移可能性。

如何迁移?

从MySQL文档中我们了解到,InnoDB的表空间可以是共享的或独立的。如果是共享表空间,则所有的表空间都放在一个文件里:ibdata1,ibdata2..ibdataN,这种情况下,目前应该还没办法实现表空间的迁移,除非完全迁移,因此不在本次讨论之列;我们只讨论独立表空间的情况。

[MySQL FAQ]系列 -- 调用存储过程时报错:Illegal mix of collations

调用存储过程时,发生报错,信息如下:

ERROR 1267 (HY000): Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='

很明显,这是字符集方面的问题。
查看数据表,字符集是gb2312没错,连接字符集,服务器端字符集也全都是gb2312。怀疑是字段的字符集有问题,修改了一下,也不行。
后来创建一个临时变量,设定其字符集为gb2312,仍然不行:

set @name = in_name collate gb2312_chinese_ci;

[MySQL FAQ]系列 -- 调用存储过程时报错:There is no ‘username’@'host’ registered

调用存储过程时,碰到错误,大致信息如下:

error 1449 “There is no ‘username’@'host’ registered”

这是因为该存储过程的所有者/定义者(definer)不存在导致的,可能是由于管理员不小心给删除了等引起的,只需要重新创建对应账户,或者将该存储过程的定义者修改成一个已存在的账户,例如:root@localhost即可。

用 bbcp 取代 scp

0. 前言

bbcp 是由SLAC(斯坦福直线加速器中心)的Andy Hanushevsky创立的点对点网络文件拷贝工具。经过简单测试,发现速度比 scp 快了10倍左右,因此推荐大家采用bbcp来取代scp等老家伙 :)

MySQL 5.1 release schedule

原文出自:MySQL 5.1 release schedule,摘录如下:

1. 社区版和企业版将同时发布

2. 企业版的bug fix速度将比社区版来的更快更频繁

3. 社区版也企业版将不再用奇偶数字区分

4. 企业版将更加灵活,秉着多给钱多功能的原则

可以看的出来,sun收购后的mysql更加注重实际收益了,我们同时也期待peter等人维护的percona分支能壮大起来,和官方发行版一比高低,让我们有更多选择。

InnoDB Plugin 1.0.2 for MySQL 5.1.30 (GA) Released

原文见:InnoDB Plugin 1.0.2 for MySQL 5.1.30 (GA) Released,修复了一些bug,增加了点小功能,有机会可以试下。

号外:mysql-5.1.30 GA发布

下载地址: ftp://202.96.64.144/pub/mysql-5.1.30.tar.gz,这是源码包,多谢fei大侠 :)

用expect模拟sftp

伏笔:server端是基于windows的server-u,启用了sftp,并不是标准的sftp,因此无法用ssh的key信任方式直接登录。为了节约人工,无奈之下,采用expect来解决问题。下面是例子:

#!/usr/bin/expect
##
## 用expect模拟sftp上传文件
## created by yejr(imysql AT imysql.cn),2008/11/20
##
#取得传递参数,构造变量
set DT [lindex $argv 0]
set NU [lindex $argv 1]
set ftp_lcd "/dbbak/$DT/$NU"
  
聚合内容