MySQL 数据库类型从 InnoDB 转换为 MyISAM

魏艾斯博客有一个 wordpress 站点,有一天无意中发现数据库挺大的,可是这个站也就不到 10 篇文章,没道理这么大的数据库啊。然后开始查找原因,发现在 phpmyadmin 后台中的数据库类型和别的 wp 站点不同,这个站点是 InnoDB 类型而别的 wp 站点是 MyISAM 类型。也忘记了怎么搞出来的,InnoDB 类型会导致数据库大小膨胀了几倍,所以决定从InnoDB 类型转换为 MyISAM 类型

数据库这一块比较麻烦,去网络上找了一圈也没有一个确切答案,干脆在论坛问了一下军哥,很快就有答复了,这里给勤奋的军哥点个赞,感谢他做出 lnmp 这么好用又免费的一键包方便了大家,还每天在论坛勤奋的回答这么多基础性的问题。

注意操作前先备份数据库,如何备份参考https://www.vpsss.net/635.html

打开 SSH 软件连接到 VPS 上面,输入下面命令:

mysql -uroot -p 输入 phpmyadmin 密码登陆

出现“mysql>”就可以继续了。

按照下面的格式输入,注意区分大小写和;号。数据库名和表名都是小写,其余的命令都是大写,最后的;号不输入,命令不会生效。

USE 数据库名; SHOW TABLES; ALTER TABLE 表名 ENGINE=MYISAM;

上图是我转换的第一个 wp_commentmeta 表,最后也显示成功了,后面挨个表名转换就行了。

我这里一共 13 个表名,都转换完成后,输入“exit”退出就行了。现在去优化数据库果然尺寸小了 3 倍多,恢复到正常了,再登录 WordPress 后台和前台检查一遍都正常了,这次转换就算成功了。

2018 年 4 月 28 日补充资料如下:

如果 MySQL 版本高于 5.7,会报错“invalid default value for”,MySQL5.7 不允许时间戳值为 0,比如下面的:

datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’

所以像本文这种转换方法只用于 MySQL5.6 及以下版本。

允许转载,保留出处:魏艾斯博客 » MySQL 数据库类型从 InnoDB 转换为 MyISAM

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

Python快速学习第九天--安装并操作Mysql数据库

python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。...

2688
来自专栏性能与架构

Mysql 8.0 新增特性

1. 数据字典 新增了事务型的数据字典,用来存储数据库对象信息 之前,字典数据是存储在元数据文件和非事务型表中的 2. 账号权限管理 添加了对 “角色” 的支持...

37111
来自专栏MYSQL轻松学

load data部分字段的正确写法

在日常运维中,会经常遇到将文件中数据导入到数据库中,如果是.sql文件,直接采用source方式即可;如果是.csv、.txt文件,可以采用 load data...

1352
来自专栏c#开发者

Oracle9i第2版中的UNT_FILE提高了文件输入/输出(I/O)功能。

技术 PL/SQL 提高文件操作功能 作者:Steven Feuerstein Oracle9i第2版中的UNT_FILE提高了文件输入/输出(I/O)功...

3384
来自专栏北京马哥教育

alter table锁表,MySQL出现Waiting for table metadata lock的场景浅析及解决方案

在修改/增加表字段的时候,发现很慢, show processlist; 时, Waiting for table metadata lock 能一直锁很久。 ...

5398
来自专栏大学生计算机视觉学习DeepLearning

新手 php连接数据库大概。简单过程浅析以及遇到的问题分析

4366
来自专栏散尽浮华

mysql操作命令梳理(5)-执行sql语句查询即mysql状态说明

在日常mysql运维中,经常要查询当前mysql下正在执行的sql语句及其他在跑的mysql相关线程,这就用到mysql processlist这个命令了。 m...

2476
来自专栏Oracle

Oracle Job创建及使用详解

Oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的job,可以查询视图 --相关视图 select *...

2065
来自专栏大学生计算机视觉学习DeepLearning

新手 php连接数据库大概。简单过程浅析以及遇到的问题分析

1636
来自专栏同步博客

MySQL注入与防御

  在一个应用中,数据的安全无疑是最重要的。数据的最终归宿都是数据库,因此如何保证数据库不被恶意攻击者入侵是一项重要且严肃的问题!

1822

扫码关注云+社区

领取腾讯云代金券