2012年10月9日星期二

MySQL使用总结(持续更新中 )

MySQL使用总结(持续更新中 )

本文目的

使用mysql遇到并解决了一些问题,在这里记录与分享。

 

问题1:Linux源代码安装mysql时,默认不安装innodb存储引擎,需要手动安装

如果忘记手动安装innodb,那么任何表创建时,如果存储引擎指定为innodb,mysql会默认选择myisam作为存储引擎,并且不报错也不警告,这样就有可能将问题掩饰了。因为有些业务逻辑,可能是依赖外键约束实现的,myisam存储引擎不支持外键约束,那么这些业务逻辑实现起来就会有问题。

手动安装innodb参考链接:http://www.cnblogs.com/bourneli/articles/2632171.html

 

问题2:mysqldump导出的sql文件是按照表的字母顺序排序而不是依赖关系排序

由于按照字母顺序排序,很容易破环数据库表之间原有的依赖顺序,那么在导入数据时会破坏外键依赖约束而报错。所以,在导入数据时,需要关闭外键约束,导入完毕后再开启。这样导入的速度也会更快。如下面的列子:

set FOREIGN_KEY = 0; // close foreign key constraint// import your dataset FOREIGN_KEY = 1;// open foreign key constraint

此问题解答参考链接:http://stackoverflow.com/questions/1382583/foreign-key-constraints-while-dumping-data


TAG: