时间:2021-07-01 10:21:17 帮助过:51人阅读
本文目的
使用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
bitsCN.com