欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用命令行将远程服务器的 MySQL 表数据导出到本地

程序员文章站 2022-07-13 21:23:34
...

第一步:root 身份 ssh 登录到远程机器

ssh aaa@qq.com_ip_address

「server_ip_address」换成你的远程服务器的 ip 地址

第二步:远程机器上进入 MySQL 控制台

mysql -u root -p

第三步:选择数据库

use your_db;

第四步:执行导出

select * from your_table_name into outfile 'file.csv' FIELDS TERMINATED BY ',';

「your_table_name」换成你自己的表名

如果你的 MySQL 配置了 --secure-file-priv,这时会报错:

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

解决方案是先查看 secure_file_priv 值:

SELECT @@secure_file_priv;

输出结果:
用命令行将远程服务器的 MySQL 表数据导出到本地

「secure_file_priv」值可能各不相同,不要直接拷贝这里的值。

然后修改 SELECT 语句的 OUTFILE

select * from your_table_name into outfile '/var/lib/mysql-files/file.csv' FIELDS TERMINATED BY ',';

第五步:将远程文件 scp 到本地

退出远程服务器的控制台,在本地机器执行命令:

scp aaa@qq.com_ip_address:/var/lib/mysql-files/file.csv .

这样就拿到了一个 CSV 文件,搞定。