mysql知识点总结
创始人
2025-05-31 22:25:01

mysql命令

1、mysql命令导出表中某个字段

需求:存储内容更换了存储,需要将存储id给运维用于迁移
执行

sudo nohup mysql -hxxx -uxxx -Pxxx -pxxx -Dxxx -e"select content_id from xxx where content_id!=''" > /home/yanfa/20230321.txt &

查看后台关于mysql的进程ps -ef | grep mysql
结果
控制台报出直接被Killed,说明进程被杀死了

[1]+  Killed     sudo nohup mysql -hxxx -uxxx -Pxxx -xxx -Dxxx-e"select content_id from xxx where content_id!=''" > 

原因
导出数据太大 直接被kill掉了 加上 --quick
解决
添加参数–quick 处理的数据大概两千八百多万行,1.4G

mysql --quick -hxxx -uxxx -Pxxx -pxxx -Dxxx -e"select content_id from xxx where content_id!=''" > /home/yanfa/20230321_A1.txt

2、导入测试环境数据库中所有表到本地中,目的主要是为了调试

a、导出测试环境数据 同时进行压缩()

sudo nohup mysqldump -h127.0.0.1 -P3306 -uroot -p123 --databases xxx | gzip > /home/yanfa/xxx_test.sql.gz &

b、导入到本地(对上面压缩包解压执行导入命令、数据库提前没有创建所以下面这也不需要指明导入哪个数据库,没有自动为我们创建数据库)

mysql -hlocalhost -P3306  -uroot -p3306  < /Users/liuyuanyuan/Desktop/company/mysqlcopy/databasecopy/xxx_test.sql

sql语句踩坑合集

1、MySql中count与limit混用

参考:传送门
背景:一张表中存储了文本的内容id,由于更换了存储,需要把改表中的字段导出来。
当使用sudo nohup mysql -hxxx -uxxx -Pxxx -pxxx -Dxxx -e"select content_id from xxx where content_id!=''" > /home/yanfa/20230321.txt &
发生了进城被killed掉,原因是数据量过大大概有3000w数据1.4G,解决是添加–quick参数。不过在这我是想用分段导出的。
先把总数查出来,然后根据情况分段,发现查询的结果是总数。

select count(content_id) from xxx where content_id!='' order by id limit 0,12000000
select count(content_id) from xxx where content_id!='' order by id limit 12000000,25116871

原因:count和limit混用不起作用,因为limit将不会限制计数或总和,而只限制返回的行

相关内容

热门资讯

150欧元的刀终于刺向中国跨境... 出品|虎嗅商业消费组作者|周月明编辑|苗正卿题图|视觉中国欧盟这次终于把“刀”真正落在了跨境小包上。...
瑞幸不想困在9块9 本文来自微信公众号:山上,作者:何简,编辑:王彬,题图来自:视觉中国中国最大的连锁咖啡品牌瑞幸咖啡正...
DeepSeek给出了对寒武纪... 本文来自微信公众号:最话 FunTalk,作者:何伊然,编辑:刘宇翔,题图来自:AI生成一个有趣的问...
国产手机Air化成潮流,为啥手... 如果要问最近一段时间,手机市场最大的变革趋势是什么?并不是大家以为的折叠屏、AI手机什么的,而是Ai...
第一批大模型公司要上市了,问题... 本文系基于公开资料撰写,仅作为信息交流之用,不构成任何投资建议2025年12月17日,北京智谱华章科...