美文网首页
导出线上mysql数据

导出线上mysql数据

作者: X1_blog | 来源:发表于2021-12-16 19:02 被阅读0次

导出线上数据到本地

导出sql

遇到一个临时需求, 导出指定条件的线上数据到excel文件, 首先写好sql, 在终端登录, 执行sql, 查询无误后, 再执行

select xxx from table into outfile '/tmp/file_name.csv';

返回结果: error 1045 access denied, 说明无权限执行导出;

更换导出操作:

mysql -h ip -u user_name -P 3306 --database="数据库名称" --default-character-set=utf8 -e "select xxx from table" > /tmp/file_name.csv -p

执行成功

cd /tmp 
sz /tmp/file_name.csv # 选择保存路径, 保存到本地

说明

此操作绕过了mysql用户的写权限检查, 使用的是linux用户的写权限做导出, mysql用户在这里只负责查询

查看导出文件, 发现导出的格式并不是逗号分隔的csv, 需要手动处理 ; 正则匹配连续空格, 替换为逗号 , 匹配内容 [^\S\n], 这样不会匹配到换行

注意

  1. 不要在命令行中明文输出数据库密码, 如果有人恶意登录服务器可以查看终端调用历史, 直接执行就进入数据库了; mysql -h ip -u user -P 3306 -p passwd这样的写法有安全问题
  2. 如果default-character-set使用 utf8 在 excel 打开中文会乱码

相关文章

  • mysqldump

    今天有个需求需要导出以下两部分线上数据库数据:1、回购表需要整表导出: /home/mysql/mysql/bin...

  • aliyun.CentOS7.MySQL操作.2017-09-2

    初始化MySQL数据库 MySQL数据导入导出查看MySQL数据库的命令 MySQL数据导出到表 MySql数据库...

  • 导出线上mysql数据

    导出线上数据到本地 导出sql 遇到一个临时需求, 导出指定条件的线上数据到excel文件, 首先写好sql, 在...

  • mysql笔记

    mysql 常用命令 mysql 导出数据库: mysql 清空缓存 mysql导入导出数据库 windows下 ...

  • DataWhale MySQL Task3 #2019-04-0

    MySQL数据导出CSV MySQL数据导入CSV

  • MySQL的数据导入导出

    MySQL数据库的导入导出 导出 导出数据库 导出数据 导出单表数据 导出单表数据结构 操作数据库 导出整个数据库...

  • 数据库导出命令

    数据库导出命令 mysql数据库导出​ mysqldump -uroot -ppassword zabbix>...

  • mysqldump备份数据

    标签(空格分隔): mysql 1 导出数据库 1.1 导出所有数据库 1.2 导出单个数据库 1.3 导出...

  • MySQL命令行导入导出数据

    MySQL 用命令行导出, 导入数据 1.导出数据: 1.1.导出单个数据库 mysqldump -hhost -...

  • xshell+xftp导出docker mysql镜像的数据库到

    1.找到mysql镜像 2.进入镜像 3.登录mysql数据库 4.找到要导出的数据库或表 5.导出 导出整个数据...

网友评论

      本文标题:导出线上mysql数据

      本文链接:https://www.haomeiwen.com/subject/qfwvfrtx.html