mysql强制转化引擎

1610阅读 0评论2015-11-05 lolizeppelin
分类:Mysql/postgreSQL

分析数据的时候innodb插入太费时间需要在导入前将innodb转化为myisam
如果导出的innodb表带有create与drop语句的话就很蛋碎

解决方法1:对sql文件做sed替换掉innodb字段,但是当sql文件巨大的时候,这个方法明显很浪费时间
而且sed替换的时候是复制一份文件的,大文件的情况下效率很低

解决方法2:这个方法是以前遇到的一个坑的时候发现的.
有一次我导一个必须用innodb的表,临时用了一个不知道谁搭建的数据库
代码测试sql回滚的时候发现总是失败,最后show create table的时候发现表是myisam的, 我详细检查了创建语句和my.cnf都没发现问题
想了一下应该是这个mysql是编译为只支持myisam的版本
所以解决方法2就是  使用一个只支持myisam的版本
专门编译个mysql也要点时间,查了下mysql配置文件里支持不启用inondb
参考

multi方式启动的mysql配置里增加

点击(此处)折叠或打开

  1. [mysqld6]
  2. server-id=1006
  3. user=mysql
  4. socket=/var/lib/mysql/mysql_isamonly.sock
  5. pid-file=/var/run/mysqld/mysqld_isamonly.pid
  6. datadir=/data/mysql/mysqld6
  7. character-set-server=utf8
  8. skip-name-resolve
  9. symbolic-links=0
  10. port=3306
  11. max_connect_errors=64
  12. back_log=1024
  13. max_connections=512
  14. thread_cache_size=16
  15. table_open_cache=512
  16. max_allowed_packet=33554432
  17. max_heap_table_size=268435456
  18. tmp_table_size=268435456
  19. query_cache_size=134217728
  20. # InnoDB set
  21. skip-innodb
  22. default-storage-engine = MyISAM
  23. innodb=OFF
  24. # MyISAM set
  25. concurrent_insert=2
  26. key_buffer_size=134217728
  27. read_buffer_size=4194304
  28. read_rnd_buffer_size=6291456

测试生效,指定建立innodb的表创建后实际为myisam

                  
上一篇:python配合gdb,import gdb
下一篇:怪不得centos里没有killproc