首页 > 数据库 >Mysql 命令行方式导出数据文件

Mysql 命令行方式导出数据文件

时间:2023-07-21 16:00:59浏览次数:39  
标签:数据文件 Mysql 导出 命令行 home test table MySQL

概述

Linux服务器上有一个数据库表包含大于50亿条的记录,通过Navicat等数据迁移工具,将数据迁移到另一个服务器相同表中,总是执行一段时间后卡死,故选择先导出数据文件,再去另一个服务器导入该文件。

可以使用Navicat导出数据文件,也可以使用MySQL支持的命令导出数据文件。本文章介绍如何使用方案B导出。

方法

  1. 登录MySQL:
mysql -u test_user -p
输入密码
use test; #切换到目标数据库
  1. 导出数据文件:

csv 格式文件:

> select * from test_table into outfile='/home/test_table.csv' fields terminated by ',' lines terminated by '\n';

或sql格式文件:

> select * from test_table into outfile='/home/test_table.sql';

遇到的问题

  1. 执行导出数据文件命令,报错:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

此问题需要修改MySQL配置文件:/etc/my.cnf

在文件最后加上一行:

secure_file_priv=''

然后重启MySQL:

service mysqld stop
service mysqld start
  1. 再次执行导出数据命令仍然报错:ERROR 1 (HY000): Can't create/write to file '/home/test_table.csv' (OS errno 13 - Permission denied)


原因是/home目录没有可写权限,MySQL无法写入。故新建/home/temp文件夹,然后修改改文件夹权限:

chmod 777 /home/temp

然后即可正常执行导出数据文件命令:

> select * from test_table into outfile='/home/temp/test_table.csv' fields terminated by ',' lines terminated by '\n';

或sql格式文件:

> select * from test_table into outfile='/home/temp/test_table.sql';


标签:数据文件,Mysql,导出,命令行,home,test,table,MySQL
From: https://blog.51cto.com/weiyuqingcheng/6801762

相关文章

  • mysql id自增默认值
    MySQLID自增默认值在MySQL中,我们经常会使用自增的ID作为表的主键,以确保每个记录都有一个唯一的标识符。MySQL提供了一种方式来自动为这些ID生成唯一的值,即使用自增默认值。本文将介绍MySQL中的自增默认值的使用方法,并提供一些代码示例。什么是自增默认值自增默认值是一种特殊的......
  • mysql host 多个
    MySQL主机多个的使用方法MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种Web应用程序中。在某些情况下,我们可能需要连接多个MySQL主机,这种情况下可以使用多个主机来提高应用程序的性能、可用性和可扩展性。本文将介绍如何在应用程序中使用多个MySQL主机。为什么使用多个M......
  • MySql 终端常用指令
    1、开发环境:Window10+mysql-8.0.33-win642、管理员模式打开终端3、登录数据库(停止+开启+登录),具体指令参考MySql安装篇 4、操作数据库相关功能1)查看数据库列表:showdatabases;主要用于显示当前存在的数据库2)创建数据库:createdatabasedb_dev;其......
  • 使用prometheus+grafana监控Linux和Mysql
    整个监控系统分为三部分:prometheus,grafana,xxxx_exporter(各种类型的数据采集器,在本例中就是node_exporter,mysqld_exporter)1、在主监控服务器上安装prometheus作为主服务2、在主监控服务器上安装grafana用于界面展示3、在需要监控的服务器安装xxxx_exporter用于采集数据并提供......
  • mysql 根据in 传参排序
    MySQL根据IN传参排序在MySQL中,我们经常需要根据给定的一组值来进行排序操作。而IN关键字正是用来筛选出一组指定值的数据。本文将详细介绍如何在MySQL中使用IN传参进行排序。什么是IN关键字IN关键字是MySQL中的一个操作符,用于指定一个值是否在一个指定的范围内。其基本语法如下:......
  • mysql 替代
    替代MySQL数据库的步骤对于刚入行的开发者来说,学习和使用新的技术可能是一项具有挑战性的任务。本文将向你介绍如何替代MySQL数据库,并提供详细的步骤和代码示例,以帮助你顺利完成这个任务。步骤下面的表格展示了替代MySQL数据库的步骤。步骤描述1选择一个替代M......
  • mysql 改字段必填
    MySQL改字段必填在MySQL数据库中,有时候我们需要修改已有表中的字段属性,比如将一个字段设置为必填项。本文将介绍如何使用MySQL的ALTERTABLE语句来改变字段的必填属性,并提供代码示例。什么是字段必填属性字段的必填属性是指在插入或更新数据时,该字段是否允许为空。如果字......
  • mysql 索引字段过大不走该索引
    如何处理“mysql索引字段过大不走该索引”概述在使用MySQL数据库时,索引是提高查询性能的重要工具之一。然而,当索引字段的大小超过MySQL的限制时,MySQL可能会选择不使用该索引,导致查询性能下降。本文将介绍如何处理这种情况。处理步骤步骤描述步骤一确认数据库中的表......
  • mysql 服务卸载
    如何卸载MySQL服务作为一名经验丰富的开发者,我将帮助你学习如何卸载MySQL服务。在开始之前,让我们先了解整个卸载过程的步骤。下面的表格将展示每个步骤和需要执行的任务。步骤任务代码说明1停止MySQL服务sudoservicemysqlstop停止运行中的MySQL服务2......
  • mysql 索引重建
    MySQL索引重建的流程在MySQL数据库中,索引是提高查询效率的重要手段。当数据库中的数据发生变动,如新增、修改、删除等操作时,索引可能会不再有效,此时需要对索引进行重建,以保证查询的高效性。下面是MySQL索引重建的流程:步骤描述1确定需要重建索引的表2判断表是否需要......