时间:2021-07-01 10:21:17 帮助过:5人阅读
MySQL 从 5.5 之后默认引擎是 InnoDB,InnoDB 比 MyISAM 要好不少,但是毕竟庞大臃肿,所以以前都是默认 MyISAM,软硬件资源日渐丰富之后,InnoDB 就被重视了。
如果是老的数据库,用的是 MyISAM 引擎,可以用顺利转换到 InnoDB 引擎。MySQL 提供了一个转换脚本(其实默认是用来给你往回转的 InnoDB –> MyISAM),可以在两种引擎中互换,用法很简单,具体可以自己看 help,这里举例一个刚刚转换过来的表:
1 2 3 4 | mysql_convert_table_format yourdb --user=root --password=‘youpw‘ -f --socket= ‘/var/run/mysqld/mysqld.sock‘ yourdb 是要转换的数据库名 yourpw 是 root 密码 socket 可以在 my.cnf 文件中找到。 |
注意事项:
1、MySQl 5.5 以后,mysql_convert_table_format 默认是将 InnoDB 转换成 MyISAM,如果要反过来转,用 –engine= INNODB 是不行的(莫名其妙就是不行),要直接修改 /usr/bin/mysql_convert_table_format 脚本,将里头 $opt_engine=”MYISAM”; 改成 $opt_engine=”INNODB”; 然后运行就可以了。
2、不要随便转换 MySQL 自己的数据库(mysql),这个数据库必须是 MyISAM 引擎的。
innodb数据库批量转换表引擎为MyISAM
标签: