首页数据库数据库备份命令 mysql中可以用于备份数据库的命令是

数据库备份命令 mysql中可以用于备份数据库的命令是

编程之家2023-10-1981次浏览

本篇文章给大家谈谈数据库备份命令,以及mysql中可以用于备份数据库的命令是对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

数据库备份命令 mysql中可以用于备份数据库的命令是

mysql中备份数据库的命令是什么

常规的mysql备份使用命令是 mysqldump命令用法如下,

mysqldump [选项]数据库名 [表名]>脚本名

或mysqldump [选项]--数据库名 [选项表名]>脚本名

或mysqldump [选项]--all-databases [选项]>脚本名

例如:

备份所有数据库:

数据库备份命令 mysql中可以用于备份数据库的命令是

mysqldump-uroot-p--all-databases>/backup/mysqldump/all.db

备份指定数据库:

mysqldump-uroot-p test>/backup/mysqldump/test.db

备份指定数据库指定表(多个表以空格间隔)

mysqldump-uroot-p mysql db event>/backup/mysqldump/2table.db

备份指定数据库排除某些表

数据库备份命令 mysql中可以用于备份数据库的命令是

mysqldump-uroot-p test--ignore-table=test.t1--ignore-table=test.t2>/backup/mysqldump/test2.db

还原命令例如:

mysqladmin-uroot-p create db_name

mysql-uroot-p db_name</backup/mysqldump/db_name.db

注:在导入备份数据库前,db_name如果没有,是需要创建的;而且与db_name.db中数据库名是一样的才可以导入。

MySQL数据库备份和还原的常用命令

1.备份MySQL数据库的命令

mysqldump-hhostname-uusername-ppassworddatabasename>backupfile.sql

2.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump-_add-drop-table-uusername-ppassworddatabasename>backupfile.sql

3.直接将MySQL数据库压缩备份

mysqldump-hhostname-uusername-ppassworddatabasename|gzip>backupfile.sql.gz

4.备份MySQL数据库某个(些)表

mysqldump-hhostname-uusername-ppassworddatabasenamespecific_table1specific_table2>backupfile.sql

5.同时备份多个MySQL数据库

mysqldump-hhostname-uusername-ppassword_databasesdatabasename1databasename2databasename3>multibackupfile.sql

6.仅仅备份数据库结构

mysqldump_no-data_databasesdatabasename1databasename2databasename3>structurebackupfile.sql

7.备份服务器上所有数据库

mysqldump_all-databases>allbackupfile.sql

8.还原MySQL数据库的命令

mysql-hhostname-uusername-ppassworddatabasename<backupfile.sql

9.还原压缩的MySQL数据库

gunzip<backupfile.sql.gz|mysql-uusername-ppassworddatabasename

10.将数据库转移到新服务器

mysqldump-uusername-ppassworddatabasename|mysql_host=*.*.*.*-Cdatabasename

mysql中可以用于备份数据库的命令是

MySQL数据库备份的命令:

1、备份db1数据库中所有表(包括表结构和数据,不包括创建db1数据库的语句)。

2、备份db1数据库中所有表(包括表结构和数据,包括创建db1数据库的语句)。

3、备份db1数据库中t1、t2、t3表(包括表结构和数据,不包括创建db1数据库的语句)。

4、备份多个(db1、db2)数据库(包括建库语句和所有表的结构和数据)。

5、备份所有数据库(包括建库语句和所有表的结构和数据)。

MySql数据库备份的几种方式

备份数据库中的某个表

$> mysqldump-u root-h host-p dbname tbname1, tbname2> backdb.sql

备份多个数据库

$> mysqldump-u root-h host-p--databases dbname1, dbname2> backdb.sql

备份系统中所有数据库

$> mysqldump-u root-h host-p--all-databases> backdb.sql

直接复制整个数据库目录(对于InnoDB存储引擎不适用)备份

windowns: installpath/mysql/data

linux:/var/lib/mysql

在复制前需要先执行如下命令:

MYSQL> LOCK TABLES;

#在复制过程中允许客户继续查询表,

MYSQL> FLUSH TABLES;

#将激活的索引页写入硬盘。

mysqlhotcopy工具备份

备份数据库或表最快的途径,只能运行在数据库目录所在的机器上,并且只能备份MyISAM类型的表。

要使用该备份方法必须可以访问备份的表文件。

$> mysqlhotcopy-u root-p dbname/path/to/new_directory;

#将数据库复制到new_directory目录。

mysql命令导入sql文件还原

$> mysql-u root-p [dbname]< backup.sql

#执行前需要先创建dbname数据库,如果backup.sql是mysqldump创建的备份文件则执行是不需要dbname。

MYSQL> source backup.sql;

#执行source命令前需要先选择数据库。

直接复制数据库目录还原

注:该方式必须确保原数据库和待还原的数据库主版本号一致,并且只适用于MyISAM引擎的表。

关闭mysql服务。

将备份的文件或目录覆盖mysql的data目录。

启动mysql服务。

对于linux系统,复制完文件后需要将文件的用户和组更改为mysql运行的用户和组。

mysqlhotcopy快速恢复

停止mysql服务,将备份数据库文件复制到存放数据的位置(mysql的data文件夹),重先启动mysql服务即可(可能需要指定数据库文件的所有者)。

$> cp-R/usr/backup/test/usr/local/mysql/data

#如果恢复的数据库已经存在,则使用DROP语句删除已经存在的数据库之后,恢复才能成功,还需要保证数据库版本兼容。

相同版本数据库之间迁移

$> mysqldump-h www.abc.com-uroot-p password dbname|

$> mysqldump-h www.bcd.com-uroot-p password

#将服务器www.abc.com的数据库dbname迁移到服务器www.bcd.com的相同版本数据库上。

不同版本的mysql数据库之间的迁移

备份原数据库。

卸载原数据库。

安装新数据库。

在新数据库中还原备份的数据库数据。

数据库用户访问信息需要备份mysql数据库。

默认字符集问题,MySQL4.x中使用latin1作为默认字符集,mysql5.x使用utf8作为默认字符集。如果有中文数据需要对默认字符集进行更改。

不同数据库之间的迁移

MyODBC工具实现MySQL和SQL Server之间的迁移。

MySQL Migration Toolkit工具。

表的导出和导入

SELECT...... INTO OUTFILE导出文本文件,该方法只能导出到数据库服务器上,并且导出文件不能已存在。

MYSQL> SELECT...... INTO OUTFILE filename [OPTIONS]

MYSQL> SELECT* FROM test.person INTO OUTFILE"C:\person0.txt";

#将表person里的数据导入为文本文件person0.txt。

mysqldump文件导出文本文件(和INTO OUTFILE不一样的是该方法所有的选项不需要添加引号)

$> mysqldump-T path-u root-p dbname [tables] [OPTIONS]

#-T参数表明导出文本文件。path导出数据的目录。

$> mysqldump-T C:\test person-u root-p

#将test表中的person表导出到文本文件。执行成功后test目录下会有两个文件,person.sql和person.txt

mysql命令导出文本文件

MYSQL> mysql-u root-p--execute="SELECT* FROM person;" test> C:\person3.txt;

#将test数据库中的person表数据导出到person3.txt文本文件中。--vartical参数可以将一行分为多行显示。

MYSQL> mysql-u root-p--vartical--execute="SELECT* FROM person;" test> C:\person3.txt;

#--html将表导出为html文件,--xml文件将表导出为xml文件

LOAD DATA INFILE导入文本文件

MYSQL> LOAD DATA INFILE‘filename.txt‘ INTO TABLE tablename [OPTIONS] [IGNORE number LINES];

# [IGNORE number LINES]表示忽略行数

MYSQL> LOAD DATA INFILE‘C:\person0.txt‘ INTO TABLE test.person;

mysqlimport导入文本文件

$> mysqlimport-u root-p dbname filename.txt [OPSTONS]

#导入的表名有文件名决定,导入数据之前表必须存在

$> mysqlimport-uroot-p test C:\backup\person.txt

#将数据导入到test数据库的person表中。

使用mysqlbinlog恢复数据

$> mysqlbinlog [option] filename| mysql-u user-p password

# filename为二进制日志文件,

$> mysqlbinlog--stop-date="2013-03-30 15:27:47" D:\MySQL\log\binlog\binlog.000008| mysql-u root-p password

#根据日志文件binlog.000008将数据恢复到2013-03-30 15:27:47以前的操作。

启动二进制日志

log-bin= path/filename#日志文件存储目录和文件名

expire_log_days= 10#日志自动删除时间

max_binlog_size= 100M#日志文件最大大小

查看二进制日志

MYSQL> SHOW VARIABLES LIKE‘log_%‘;

MYSQL> SHOW BINARY LOGS;

$> mysqlbinlog filename

# filename为二进制日志文件名。

删除二进制日志

MYSQL> RESET MASTER;#删除所有二进制日志

MYSQL> PURGE{MASTER| BINARY} LOGS TO‘log_name‘;#删除文件编号小于log_name编号的文件

MYSQL> PURGE{MASTER| BINARY} LOGS BEFORE‘date‘;#删除指定日期以前的文件

暂时停止二进制日志(不需要重启mysql服务)

MYSQL> SET sql_log_bin={0|1}#暂停或启动二进制日志。MySql数据库备份的几种方式

标签:userbaseload datamaster服务器reset表数据sql存储

数据库备份命令和mysql中可以用于备份数据库的命令是的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

开源流媒体服务器 什么是网络多媒体视频服务器邮箱域名是什么 电子邮件中域名是什么