15.2.6.5. InnoDB和MySQL复制
15.2.6.5. InnoDB和MySQL复制
MySQL复制就像对MyISAM表一样,也对InnoDB表起作用。以某种方式使用复制也是可能的,在这种方式中从服务器上表的类型不同于主服务器上原始表的类型。例如,你可以复制修改到主服务器上一个InnoDB表,到从服务器上一个MyISAM表里。
要为一个主服务器建立一个新服务器,你不得不复制InnoDB表空间和日志文件,以及InnoDB表的.frm文件,并且移动复件到从服务器。关于其恰当步骤请参阅15.2.9节,“移动InnoDB数据库到另一台机器”。
如果你可以关闭主服务器或者一个存在的从服务器。你可以采取InnoDB表空间和日志文件的冷备份,并用它来建立一个从服务器。要不关闭任何服务器来建立一个新的从服务器,你也可以使用非免费(商业的)InnoDB热备份工具。
InnoDB复制里一个小的限制是LOAD TABLE from MASTER不对InnoDB类型表起作用。有两种可能的工作区:
· 转储主服务器上的表并导入转储文件到从服务器。
· 在用LOAD TABLE tbl_name from MASTER建立复制之前,在主服务器上使用ALTER TABLE tbl_name TYPE=MyISAM,并且随后使用ALTER TABLE把主表转换回InnoDB。
在主服务器失败的事务根本不影响复制。MySQL复制基于二进制日志,MySQ在那里写修改数据的SQL语句。从服务器读主服务器的二进制日志,并执行同样的SQL语句。尽管如此,在事务里发生的语句不被写进二进制日志直到事务提交,在那一刻,事务里所有语句被一次性写进日志。如果语句失败了,比如,因为外键违例,或者,如果事务被回滚,没有SQL语句被写进二进制日志,并且事务根本不在从服务器上执行。
相关文档:
在网上找了很久,文章都是你抄、我抄你。看来看去都一样的,google往后翻N页 进去一看都是一样的。郁闷至极。 于上是CSDN论坛求助,还是java\web坛子里的朋友热情些,终于算是搞好了,自己再试了下,把心得发出来大家指点指点。 1、mysql-connector-java-5.0.8-bin.jar文件,也就是mysql驱动包。注意:要放到tomcat ......
今天调程序从数据库里取数据,一直去不出来,把日志里打出来的sql放到数据库里去执行,却又能
取出数据来,很是郁闷。
数据库是mysql的,一共128个库,通过某个字段分库。
后来发现要查的这条数据的分库字段被改过,按照程序里执行的去查,他就去了另外一个库 ......
问题描述:
从php界面insert数据到mysql,只能输入偶数个汉字不能输入奇数个汉字,输入奇数个汉字后报“Data too long for column ”错误,并没有更改数据库数据。到数据库查看,发现汉字都是乱码。但是php界面显示汉字正常(当然显示的都是偶数个汉字,奇数个汉字都没有写入数据库)。
解决思路:
1.更改my.i ......