Cha*_*tin 6 mysql mysqldump mysql-5.1
好吧,我相信这会变成愚蠢的事情,但我是一个愚蠢的 n00b DBA。
我有一个很大的表,大约有 1.63 亿行和大约 44 GiB。在使用 mysqldump 进行一些备份实验后,我尝试在批处理模式下使用 select 构建一个制表符分隔的输出。
我试过
echo 'select * from node;' | mysql -u xx -p -B database > file
Run Code Online (Sandbox Code Playgroud)
它以消息“Killed”结束。
所以我尝试批量登录mysql,同样的查询,同样的结果。
我尝试以正常方式登录,然后做 select * from node;
结果还是一样:“被杀”。然而
create table temp_node (select * from node);
Run Code Online (Sandbox Code Playgroud)
工作正常。
所以我显然错过了一些基本的东西,但谷歌搜索没有帮助。可怜一个n00b,告诉我发生了什么?
请注意,问题与运行命令本身无关,而是当我运行命令或select * from node;
从mysql>
提示符执行时,mysql 以消息“Killed”终止。
哦,我怎么能导出那个该死的表以便稍后加载?
好吧,我觉得这是一条熟悉的信息。这是来自 LINUX 的说法“进程内存不足”。
好吧,没什么可说的了。mysql进程本身内存不足并被操作系统终止。我对实现没有很好的感觉,但它似乎正在尝试将整个表拉入内存以执行 select * 之类的操作。
归档时间: |
|
查看次数: |
4475 次 |
最近记录: |