mysql数据库备份的几种方式是,mysql数据库备份的几种方式有哪些

mysql数据库备份的几种方式是,mysql数据库备份的几种方式有哪些,MySql数据库备份的几种方式

本文主要介绍了MySql数据库备份的几种方式,通过实例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友下面和边肖一起学习。

Mysqldump工具备份

备份整个数据库

$ MySQL dump-u root-h host-p dbname backdb . SQL

备份数据库中的表

$ MySQL dump-u root-h host-p dbname tbname 1,tbname2 backdb.sql

备份多个数据库

$ MySQL dump-u root-h host-p-databases dbname 1,dbname2 backdb.sql

备份系统中的所有数据库。

$ MySQL dump-u root-h host-p-all-databases backdb . SQL

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

windowns:installpath/MySQL/data

linux: /var/lib/mysql

在复制之前,您需要执行以下命令:

MYSQL锁表;

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

MYSQL刷新表;

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

mysqlhotcopy工具备份

备份数据库或表的最快方法只能在数据库目录所在的计算机上运行,并且只能备份MyISAM类型的表。

要使用这种备份方法,您必须能够访问备份的表文件。

$ mysqlhotcopy-u root-p dbname/path/to/new _ directory;

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

mysql命令导入sql文件还原

$ MySQL-u root-p[数据库名] backup.sql

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

MYSQL源码backup.sql

#在执行source命令之前,您需要选择一个数据库。

直接复制数据库目录还原

注意:此方法必须确保原始数据库和要恢复的数据库的主版本号相同,并且仅适用于MyISAM引擎的表。

关闭mysql服务。

在mysql的数据目录上覆盖备份的文件或目录。

启动mysql服务。

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

mysqlhotcopy快速恢复

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

$ CP-R/usr/backup/test/usr/local/MySQL/data

#如果还原的数据库已经存在,则必须使用DROP语句删除现有数据库,恢复才能成功,并且数据库版本必须兼容。

相同版本数据库之间的迁移

$ MySQL dump-h www.abc.com-u root-p密码数据库名|

$ mysqldump-h www.bcd.com-u root-p密码

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

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

备份原始数据库。

卸载原始数据库。

安装新的数据库。

在新数据库中恢复备份的数据库数据。

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

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

不同数据库之间的迁移

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

MySQL迁移工具包工具。

表的导出和导入

挑选.INTO OUTFILE导出文本文件。此方法只能导出到数据库服务器,并且导出的文件不能已经存在。

MYSQL选择.到输出文件文件名[选项]

MYSQL SELECT * FROM test.person到OUTFILE C: person 0 . txt ;

#将表person中的数据导入文本文件person0.txt

mysqldump文件导出一个文本文件(与INTO OUTFILE不同,该方法中的所有选项都不需要引号)

$ MySQL dump-T path-u root-p dbname[表][选项]

# -T参数表示文本文件已导出。路径导出数据的目录。

$ MySQL dump-T C: test person-u root-p

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

Mysql命令导出文本文件

MYSQL MYSQL-u root-p-execute= SELECT * FROM person;测试C: person 3 . txt;

#将人员表数据从测试数据库导出到person3.txt文本文件。- vartical参数可以显示多行中的一行。

MYSQL MYSQL-u root-p-vartical-execute= SELECT * FROM person;测试C:人3。txt

# - html将表导出为超文本标记语言文件,- xml文件将表导出为可扩展标记语言文件

将数据装入文件导入文本文件

关系型数据库将文件文件名. txt 中数据加载到表表名[选项][忽略行数];

#[忽略数字行]表示忽略行数

关系型数据库将文件" C:person0.txt "中的数据加载到表测试人员中;

mysqlimport导入文本文件

$ MySQL import-u root-p dbname文件名。操作吨

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

$ mysqlimport -uroot -p测试C:backupperson.txt

# 将数据导入到试验数据库的人表中。

使用mysqlbinlog恢复数据

$ mysqlbinlog[选项]文件名mysql -u用户密码

#文件名为二进制日志文件,

$ mysqlbinlog-stop-date= 2013-03-30 15:27:47 D: MySQL log bin log bin log。000008 | MySQL-u root-p密码

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

启动二进制日志

日志箱=路径/文件名#日志文件存储目录和文件名

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

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

查看二进制日志

关系型数据库显示日志_ % 这样的变量;

关系型数据库显示二进制日志;

$ mysqlbinlog文件名

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

删除二进制日志

关系型数据库重置大师;#删除所有二进制日志

关系型数据库将{主|二进制}日志清除到”日志名称”;#删除文件编号小于日志名称编号的文件

关系型数据库在"日期"之前清除{主|二进制}日志;#删除指定日期以前的文件

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

MYSQL SET sql_log_bin={0|1} #暂停或启动二进制日志。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

mysql数据库备份的几种方式是,mysql数据库备份的几种方式有哪些