Linux下MySQL如何传到PC?

在Linux下使用mysqldump导出MySQL数据为SQL文件,再通过SCP/SFTP传输到PC端,也可用MySQL Workbench远程连接直接导出数据。

在Linux环境下将MySQL数据传输到个人电脑(PC端)是数据库管理中的常见需求,无论是备份、分析还是迁移,都需要安全高效的操作方法,以下是经过验证的四种专业方案,兼顾安全性与易用性,所有步骤均需在Linux终端或PC端工具中执行。

Linux下MySQL如何传到PC?


通过mysqldump导出SQL文件 + SCP传输(推荐)

适用场景:完整数据库备份或迁移,兼容性最佳。

步骤详解

  1. 在Linux服务器导出SQL文件

    mysqldump -u [用户名] -p [数据库名] > backup.sql
    • 输入密码后生成backup.sql文件(示例中[数据库名]替换为实际名称)。
    • 高级参数:
      --single-transaction:InnoDB表锁避免(事务安全)
      --skip-lock-tables:跳过锁表(MyISAM引擎适用)
  2. 使用SCP将文件传输到PC
    在PC端的终端(Windows可用PowerShell/WSL,macOS用Terminal)执行:

    scp [用户名]@[服务器IP]:/path/to/backup.sql /本地/保存目录/
    • 示例:scp root@192.168.1.100:/home/mysql/backup.sql ~/Downloads/
    • 需输入服务器密码,支持SSH密钥更安全(生成密钥:ssh-keygen -t rsa)。

导出CSV/Excel格式 + SFTP传输

适用场景:需用Excel/WPS分析数据或部分表导出。

步骤详解

  1. 在MySQL中导出CSV

    SELECT * INTO OUTFILE '/tmp/data.csv'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY 'n'
    FROM [表名];
    • 文件默认保存到/tmp/目录(确保MySQL有写权限)。
    • 导出Excel:将后缀改为.xlsx,或用CONVERT()函数处理编码。
  2. 通过SFTP下载到PC

    Linux下MySQL如何传到PC?

    • 使用FileZilla等GUI工具:
      连接服务器 → 进入/tmp/ → 拖拽文件到本地目录。
    • 命令行SFTP:
      sftp [用户名]@[服务器IP]
      get /tmp/data.csv ~/Desktop/

MySQL Workbench直连导出(图形化操作)

适用场景:不熟悉命令行的用户,适合中小型数据库。

步骤详解

  1. PC端安装MySQL Workbench

    官网下载:https://dev.mysql.com/downloads/workbench/

  2. 建立SSH隧道连接

    • 新建连接 → 填写服务器IP、MySQL端口(默认3306)。
    • SSH选项卡:勾选”Use SSH” → 输入服务器SSH账号及密钥/密码。
  3. 导出数据

    • 导航到”Data Export” → 选择数据库或表 → 导出为SQL/CSV/JSON。
    • 文件直接保存到PC本地目录。

自动同步备份(rsync + cron定时任务)

适用场景:定期备份,避免手动操作。

Linux下MySQL如何传到PC?

步骤详解

  1. 创建备份脚本

    #!/bin/bash
    mysqldump -u root -p[密码] [数据库名] > /backup/db_$(date +%F).sql
    • 保存为/scripts/mysql_backup.sh → 赋予执行权限:chmod +x /scripts/mysql_backup.sh
  2. 设置cron定时任务

    crontab -e
    # 每天凌晨2点备份
    0 2 * * * /scripts/mysql_backup.sh
  3. PC端用rsync拉取备份

    rsync -avz -e ssh [用户名]@[服务器IP]:/backup/ ~/mysql_backups/
    • 参数说明:-a(归档模式) -v(详细输出) -z(压缩传输)

安全与优化关键点

  1. 权限最小化
    • 为备份创建专用MySQL账号:
      CREATE USER 'backup_user'@'localhost' IDENTIFIED BY '强密码';
      GRANT SELECT, SHOW VIEW, LOCK TABLES ON *.* TO 'backup_user'@'localhost';
      FLUSH PRIVILEGES;
  2. 传输加密
    • 始终使用SCP/SFTP/SSH,禁用FTP明文传输。
    • 敏感文件加密:用gpg -c backup.sql生成加密文件。
  3. 大文件处理
    • 分卷压缩:tar czvf - backup.sql | split -b 500M - backup.tar.gz.
    • 导出时启用压缩:mysqldump [参数] | gzip > backup.sql.gz

常见问题解决

  • 权限错误Can't create/write to file
    检查目录权限:chown mysql:mysql /tmp/ 或改用用户目录。
  • SCP连接超时
    确认服务器防火墙放行SSH端口(默认22):sudo ufw allow 22
  • Workbench连接失败
    检查服务器MySQL配置:bind-address=0.0.0.0允许远程访问。

根据需求选择合适方案:

  • 全库迁移/备份 → 方案一(mysqldump + SCP)
  • 数据分析 → 方案二(CSV + SFTP)
  • 日常维护 → 方案四(rsync自动化)
  • 新手友好 → 方案三(MySQL Workbench)

引用说明:本文操作基于MySQL 8.0、Ubuntu 22.04 LTS及OpenSSH 8.9环境验证,安全建议参考OWASP数据保护指南,备份策略遵循3-2-1原则(3份备份、2种介质、1份离线),命令行参数详见MySQL官方文档

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/24196.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月14日 20:14
下一篇 2025年6月14日 20:23

相关推荐

  • linux怎么看gcc版本

    在Linux终端输入gcc –version或gcc -v命令,可直接显示已安装GCC编译器的详细版本信息,前者简洁输出主版本号,后者提供更完整的配置详情。

    2025年6月9日
    100
  • Linux内核版本怎么查?

    要查看Linux内核版本,运行命令 uname -r 即可,也可通过查看 /proc/version 文件或使用 hostnamectl 命令获取,uname -r 是最常用的方法。

    2025年6月12日
    200
  • Linux如何下载软件

    Linux下主要通过软件包管理器安装程序,常用方法:,1. 使用系统自带软件中心(图形界面)搜索安装,2. 终端执行命令安装(如 sudo apt install 软件名 for Ubuntu, sudo dnf install 软件名 for Fedora),3. 从官网下载源码编译或二进制包手动安装

    2025年6月1日
    200
  • Linux怎么读取光驱?

    在Linux中读取光驱,首先插入光盘,系统通常会自动挂载,若未自动挂载,需手动创建挂载点目录(如/mnt/cdrom),然后使用命令sudo mount /dev/sr0 /mnt/cdrom将光盘内容挂载到该目录,完成后即可访问光盘文件,使用完毕用sudo umount /mnt/cdrom卸载。

    2025年5月31日
    500
  • Linux怎么查看用户权限?

    使用 id 命令查看用户 UID、GID 及所属组,groups 命令直接显示用户所属组,检查 /etc/sudoers 或运行 sudo -l 查看 sudo 权限。

    2025年6月12日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN