mysql数据库存储引擎是MyISAM,在大量访问的情况下数据表可能会被锁住,导致用户连接超时网站返回502,需要将MySQL数据库MyISAM存储引擎转换为Innodb。今天主要分享近期数据迁移到某数据库,包括存储引擎转换和数据库编码转换。思路:导出旧数据库表结构,修改引擎为innodb将旧数据库表结构导入新数据库非工作时间停止应用,导出旧数据库数据(不导出表结构)导入旧数据库数据(sql_mode调整)调整新数据库代码为utf8mb41。导出CentOS数据库的表结构和表数据导出表结构(-d参数表示不导出数据,只导出表结构)mysqldump-d-hxx.xx.xx-uroot-pzentao>zentao_table.sqlexporttabledata(-t参数表示只导入数据,不导入表结构)mysqldump-t-hxx.xx.xx-uroot-pzentao>zentao_tabledata.sql2.这里修改数据库引擎,将zentao_table.sql中的MyISAM替换为INNODBsed-i's/MyISAM/INNODB/g'zentao_table.sql3。新建数据库centos_new,并导入表结构--为了避免迁移时编码问题导致不稳定因素太多,先建为utf8mysql-uroot-p-e'createdatabasezentaodefaultcharactersetutf8;'mysql-uroot-pzentao
