对于大多数web应用来说,数据库都是一个十分基础性的部分。如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中举足轻重的一员。

对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面列举了我曾经犯过的最严重的10个MySQL相关的错误(有些同样也反映在其他语言/数据库的使用上)。

1、使用MyISAM而不是InnoDB

MySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。

MySQL 默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除非你在创建一个非常简单抑或实验性的数据库。外键约束或者事务处理对于数据完整性 是非常重要的,但MyISAM都不支持这些。另外,当有一条记录在插入或者更新时,整个数据表都被锁定了,当使用量增加的时候这会产生非常差的运行效率。

结论很简单:使用InnoDB。

阅读全文

mysqldump导出/备份同一个库的多个表

备份指定数据库的一个或者多个表,用法是:

mysqldump [options] DATABASE TABLE1 [TABLE2 TABLE 3…] >file.sql

例如备份wordpress数据库的wp_posts表和wp_options表到wordpress_1.sql:

阅读全文

现在想把服务器上的mysql的表结构复制到本地,不需要数据。而且没有phpmyadmin等可视化工具,只能通过语句导出结构。

那么在mysql命令行内,使用以下语句即可:

即可获取到创建数据库或者表结构的语句,在本地执行即可。

阅读全文

MySQL有多种存储引擎:

MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。

MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:

阅读全文

作者的图片

DigDeeply

Technology Stack: Golang/PHP/Openresty, and so on…

Web Development Engineer

Beijing China