首页 > 数据库 >无涯教程-MySQL - 备份数据

无涯教程-MySQL - 备份数据

时间:2023-11-27 18:03:17浏览次数:35  
标签:-- 备份 无涯 tbl MySQL tutorials txt 数据库 mysqldump

将表数据导出到文本文件中的最简单方法是使用 SELECT ... INTO OUTFILE 语句,该语句将查询输出直接导出到服务器主机上的文件中。

SELECT ... INTO OUTFILE

该语句的语法在最后将常规 SELECT 命令与 INTO OUTFILE文件名结合在一起,默认输出格式与LOAD DATA命令相同,因此,以下语句将 tutorials_tbl 表作为制表符分隔的,以换行符结尾的文件导出到 /tmp/tutorials.txt 中。

mysql> SELECT * FROM tutorials_tbl 
   -> INTO OUTFILE '/tmp/tutorials.txt';

您可以使用各种选项来更改输出格式,以指示如何对列和记录进行引用和定界,要以带有CRLF终止行的CSV格式导出tutorial_tbl表,请使用以下代码。

mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'
   -> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
   -> LINES TERMINATED BY '\r\n';

导出原始数据

mysqldump 程序用于复制或备份表和数据库,它可以将表输出作为原始数据文件或作为一组 INSERT 语句来编写,以重新创建表中的记录。

要将表转储为数据文件,必须指定-tab  选项,该选项指示目录,您希望MySQL服务器在该目录中写入文件。

如,要将 tutorials_tbl 表从 TUTORIALS 数据库转储到/tmp 目录中的文件,请使用如下所示的命令。

$mysqldump -u root -p --no-create-info\
   --tab=/tmp tutorials tutorials_tbl
password ******

SQL格式导出数据

要将SQL格式的表导出到文件,请使用以下命令。

$mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txt
password ******

这将创建一个具有如下所示内容的文件。

-- MySQL dump 8.23
--
-- Host: localhost    Database: TUTORIALS
---------------------------------------------------------
-- Server version       3.23.58

--
-- Table structure for table `tutorials_tbl`
--

CREATE TABLE tutorials_tbl (
   tutorial_id int(11) NOT NULL auto_increment,
   tutorial_title varchar(100) NOT NULL default '',
   tutorial_author varchar(40) NOT NULL default '',
   submission_date date default NULL,
   PRIMARY KEY  (tutorial_id),
   UNIQUE KEY AUTHOR_INDEX (tutorial_author)
) TYPE = MyISAM;

--
-- Dumping data for table `tutorials_tbl`
--

INSERT INTO tutorials_tbl 
   VALUES (1,'Learn PHP','John Poul','2007-05-24');
INSERT INTO tutorials_tbl 
   VALUES (2,'Learn MySQL','Abdul S','2007-05-24');
INSERT INTO tutorials_tbl 
   VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');

要转储多个表,请将它们全部命名,后跟数据库名称参数。要转储整个数据库,请不要在数据库后命名任何表,如以下代码块所示。

$mysqldump -u root -p TUTORIALS > database_dump.txt
password ******

要备份主机上可用的所有数据库,请使用以下代码。

$mysqldump -u root -p --all-databases > database_dump.txt
password ******

--all-databasesoptions在MySQL 3.23.12版本中可用。此方法可用于实现数据库备份策略。

复制到另一台主机

如果要将表或数据库从一台MySQL服务器复制到另一台,请使用 mysqldump 和数据库名和表名。

在源主机上运行以下命令。这会将完整的数据库转储到 dump.txt 文件中。

$mysqldump -u root -p database_name table_name > dump.txt
password *****

您可以在不使用特定表名的情况下复制完整的数据库,如上所述。

现在,在另一台主机上使用ftp dump.txt文件,并使用以下命令。在运行此命令之前,请确保已在目标服务器上创建了database_name。

$mysql -u root -p database_name < dump.txt
password *****

在不使用中间文件的情况下完成此操作的另一种方法是直接通过网络将mysqldump的输出发送到远程MySQL服务器。如果可以从源数据库所在的主机连接到两台服务器,请使用以下命令(确保两台服务器都具有访问权限)。

$mysqldump -u root -p database_name\
   | mysql -h other-host.com database_name

在mysqldump中,命令的一半连接到本地服务器,并将转储输出写入管道,该命令的其余一半连接到other-host.com上的远程MySQL服务器,它读取输入管道,并将每个语句发送到other-host.com服务器。

参考链接

https://www.learnfk.com/mysql/mysql-database-export.html

标签:--,备份,无涯,tbl,MySQL,tutorials,txt,数据库,mysqldump
From: https://blog.51cto.com/u_14033984/8587444

相关文章

  • MySQL8.x 中 performance_schema 下 processlist表的说明
    MySQL8.x中performance_schema下processlist表的说明最近在研究一个MySQL数据库的监控相关功能的系统的实现,因此专门研究了一下processlist表。processlist表为MySQL的核心表之一。MySQLprocesslist表示当前由服务器内执行的线程集执行的操作。进程列表表是进程信息的来......
  • MYSQL 查询数据库各表的数据量大小
    --your_database_name替换为你的数据库名SELECTtable_schemaAS`数据库`,table_nameAS`表名`,CONCAT(ROUND(table_rows/1000000,2),'M')AS`行数`,CONCAT(ROUND(data_length/(1024*1024),2),'MB')AS`数据大小`,CONCAT(ROUND(index_length/(1024*1024......
  • Mysql 中运算符的优先级
    在实际运行的时候,可以参考上图的优先级,但是很少有人能将这些优先级熟练记忆,很多情况下我们都是用()将需要优先的操作括起来,这样既起到了优先的作用,又使得其它用户看起来更易于理解......
  • Linux MySQL安装和配置
    包管理器安装MySQL使用包管理器安装MySQL过程很简单,但是也存在一个问题,就是只能使用源里面提供的MySQL版本,相ubuntu2004的源就只提供了8.0版本的MySQL,如果要装5.7版本就没法装。ubuntu1、配置APT源ubuntu自己的APT源里面就有MySQL,以ubuntu2004为例,可以直接用相关源就行了,也可......
  • linux安装Apache、PHP、Mysql
    https://www.jianshu.com/p/39c4aa6f7103linux安装Apache、PHP、Mysql春风仿佛爱情IP属地:江西0.2842018.09.0119:41:37字数1,755阅读3,562一、检查系统环境二、安装Apache、PHP、Mysql三、安装基本常用扩展包四、配置Apache、mysql开机启动五、配置Mysql六、测试环境七、......
  • Mysql命令行备份数据库的关键步骤
    MySQL是一个广泛使用的开源关系数据库管理系统,它常用于各种规模的应用,从个人博客到大型企业级系统。在使用MySQL的过程中,数据备份是一项至关重要的任务,它能够确保在发生数据丢失或系统故障时,我们可以恢复和重新部署数据库。在本文中,我们将介绍如何使用mysql命令行工具备份数据库,并......
  • 无涯教程-MySQL - 临时表
    在某些情况下,临时表对于保留临时数据可能非常有用,临时表应该知道的最重要的事情是,当当前客户端会话终止时,它们将被删除。创建临时表在MySQL3.23版中添加了临时表。如果您使用的MySQL版本早于3.23,则不能使用临时表,但可以使用堆表。语法:mysql>CREATETEMPORARYTABLEtable_......
  • 无涯教程-MySQL - NULL 语句
    前面已经介绍了如何利用SQL的SELECT命令配合WHERE子句来获取MySQL表中的数据,但假如尝试给出一个条件,将字段或列值与NULL比对,则会出现异常。为了处理这种情况,MySQL提供了三个运算符-ISNULL      -如果列值为NULL,则此运算符返回true。ISNOTNULL-如果......
  • 超详细的Mysql锁 实战分析,你想知道的都在这里~
    1.mysql回表查询在这里提起主要是用于说明mysql数据和索引的结构,有助于理解后续加锁过程中的一些问题。mysql索引结构和表数据结构是相互独立的,根据索引查询,只能找到索引列和主键聚簇索引。如果select语句中不包含索引列,mysql会根据主键聚簇索引二次回表查询所需要的数据,查询出......
  • 3、python脚本连接本地mysql数据库读取表数据
    #coding:utf-8frompymysqlimportconnectdata_list=[]#将数据存入数据库conn=connect(host="10.36.128.83",port=20002,database="sthjj_sthj",user="lw_lwc",password=&qu......