MySQL
(71)mysql 命令行进行数据导出/导入
数据导出
mysqldump -uusername -p db_name > db_name.sql;
数据导入
mysql -uusername -p db_name < db_name.sql;
mysql utf8mb4 编码
MySQL server version 5.5.3 or higher 引入了 utf8mb4 编码。
## Utf8 与 Utf8mb4 的区别
Utf8 只能支持 1~3 个字节的字符
Utf8mb4 则可以支持 4 个
MySQL table engine
5.7 默认使用的是 InnoDB engine
常见的 engine 类型, MyISAM 与 InnoDB 的区别
大部分情况下,采用默认的 InnoDB 即可
> InnoDB: The default storag
MySQL 中将 varchar 字段转换成数字进行排序
问题来源于 ecshop 的商品属性列表排序 bug。
includes/lib_goods.php 中是这样写的
'ORDER BY a.sort_order, g.attr_price, g.goods_attr_i
MySQL 的事务
## transaction logging
为了保证事务操作更高效,MySQL 不是直接更新磁盘上的对应数据,而是
- 首先更新磁盘上数据在内存中的 copy
- append 到 transaction log 中,使用 IO
MySQL 慢查询定位
## 如何开启慢查询日志
编辑 my.cnf, 注意,需置于 mysqld 的 section 下
log_slow_queries = /tmp/mysql-slow.log
long_query_time =
MySQL 的那些锁
## MySQL 锁的类型
### shared locks (read locks):
> Read locks on a resource are shared, or mutually nonblocking: many cli
mysql
## Quick Links
* [mysql common types](mysql-common-types)
* [Mysql DBA 20天速成指南](http://lutaf.com/130.htm)
* [为高性能而生的索
使用 MySQL 实现任务队列
首先需要声明的是,这个标题是有问题的。因为用 MySQL 实现队列并不是一个好的选择。
之所以使用 MySQL 是因为想尝试一下。
## 在 Google 之前,先实践一下自己的思路
MySQL table 结构
`