MySQL 数据库设计及性能优化Tips

规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。

注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因此MyISAM虽然在一般情况下,查询性能比InnoDB高,但InnoDB的以主键为条件的查询性能是非常高的。

继续阅读“MySQL 数据库设计及性能优化Tips”

修改数据库、表、字段为 utf8mb4 编码

创建 utf8mb4 数据库:

修改数据库、表、字段为 utf8mb4 编码:

 

MySQL 配置文件 my.cnf 详细说明

本文记录MySQL配置文件my.cnf的详细说明。

Linux系统MySQL配置文件读取顺序

文件名字 作用
/etc/my.cnf 全局配置
/etc/mysql/my.cnf 全局配置
SYSCONFDIR/my.cnf 全局配置
$MYSQL_HOME/my.cnf Server-specific 服务器特定的选项 (仅适用于服务端)
defaults-extra-file 如果有的话指定该文件--defaults-extra-file=文件名字
~/.my.cnf Server-specific 服务器特定的选项
~/.mylogin.cnf User-specific 登录路径选择 (仅适用于客户端)

继续阅读“MySQL 配置文件 my.cnf 详细说明”

MySQL大表加字段思路

给 MySQL 一张表加字段执行如下 sql 就可以了:

但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了。

继续阅读“MySQL大表加字段思路”

常用Linux操作数据库命令及MySQL语句

以下是在Linux下经常会用到的MySQL的一些命令,导出,导入,建库建表,备份,以及MySQL修改字段,添加字段等语法。

数据库表导入

恢复sql到数据库,不会覆盖数据库,仅执行恢复的sql语句,常用于数据库表的导入:

继续阅读“常用Linux操作数据库命令及MySQL语句”