标签归档:mysql

MySQLDump 导出部分数据

MySQLDump 导出部分数据

MySQLDump 是非常常用的数据库导出工具。不过,大部分时候,我们使用的都是 mysqldump -uuser -p database_name > database_name.sql

这样可以提供数据导出功能,但导出的数据会是全表数据,我们在导出数据的时候,如果希望导出部分数据,就需要借助于其中的 --where Flag,来实现导出部分数据.

此外,由于导出的数据是部分数据,因此,就涉及到需要指定导出时的表名,才能实现导出相应的数据,需要满足如下格式

mysqldump [OPTIONS] database [tables]

举个例子来说,假设我们需要导出数据库 wordpress 的 wp-options 表中的 ID 小于 20 的数据,则需要执行如下命令:

mysqldump --where="id < 20" wordpress wp-options

上述命令就实现了从数据库中导出符合特定要求的数据。

MySQL 遭遇 Out of sort memory, consider increasing server sort buffer size 怎么办?

MySQL 遭遇 Out of sort memory, consider increasing server sort buffer size 怎么办?

当你将线上数据拖到本地进行执行的时候,可能会出现 mysql Sort aborted: Out of sort memory, consider increasing server sort buffer size 的错误,出现这样的错误,是因为你的 MySQL 的 SortBufferSize 太小导致的。你可以在 my.cnf 中添加配置。

sort_buffer_size=3M

参考文献

https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_sort_buffer_size

如何在服务器和本地互传 SQL?

如何在服务器和本地互传 SQL?

在本地开发模拟线上数据的时候,难免需要从线上服务器上拉取数据到本地进行导入。

这个时候,你可以在执行 mysqldump 的时候加入 where 参数来筛选数据,

但依然会遇见文件比较大的情况。

在这种情况下,你可以选择使用 gzip 来压缩你导出的 SQL 文件,命令也非常简单

gzip xxx.sql

执行完成后,你会获得一个 xxx.sql.gz 文件,接下来只要使用 scp 之类的软件,将文件拖回本地即可。

通过 Gzip 压缩,可以将一个原本 1.5G 的 SQL 文件压缩到 100M 左右,大大的提升了数据的传输速度。