mysql数据库备份空文件,数据库完全备份文件

本文目录一览:

mysql 怎么备份数据库

备份语法如下:

mysqldump -u username -p dbname table1 table2 …- BackupName.sql

其中:

dbname参数表示数据库的名称;

table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;

BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;

使用root用户备份test数据库下的person表

mysqldump -u root -p test person D:\backup.sql

mysql数据库备份文件怎么为空

mysqldump -hlocalhost -u root -p -R test d:/qytxl.sql

-h和localhost之间没空格

如何对mysql备份

Mysql数据库的常用备份方法是使用使用实用程序mysqldump, 其命令格式如下

# mysqldump [options] database [tables]

其参数的含义为:

options:代表mysqldump的选项,通过mysqldump –help可以查到。

database: 代表将要备份的数据库

tables: 代表将要备份的表,如果不指定任何表,则备份整个数据库。

使用 mysqldump进行备份非常简单,如果要备份数据库” phpbb_db_backup ”,使用命令:

#mysqldump –u -p phpbb_db_backup /usr/backups/mysql/ phpbb_db_backup.2005.5.6

还可以使用gzip命令对备份文件进行压缩:

#mysqldump phpbb_db_backup | gzip /usr/backups/mysql/ phpbb_db_backup.2005.5.6。gz

恢复数据使用命令:

#mysql –u -p phpbb_db_backup /usr/backups/mysql/phpbb_db_backup.2005

MYSQL备份数据库

定期的备份可使我们数据库崩溃造成的损失大大降低。在MySQL中进行数据备份的方法有两种,一种是使用mysqldump程序,一种是使用mysqlhotcopy、cp、tar或cpio等打包程序直接拷贝数据库文件。mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。使用mysqlhotcopy等程序备份速度快,因为它直接对系统文件进行操作,需人为协调数据库数据的备份前后一致性。

使用mysqldump备份数据库其实就是把数据库转储成一系列CREATE TABLE和INSERT语句,通过这些语句我们就可重新生成数据库。使用mysqldump的方法如下:

% mysqldump –opt testdb | gzip /data/backup/testdb.bak

#–opt选项会对转储过程进行优化,生成的备份文件会小一点,后的管道操作会进行数据压缩

% mysqldump –opt testdb mytable1,mytable2 | gzip /data/backup/testdb_mytable.bak

#可在数据库后接数据表名,只导出指定的数据表,多个数据表可用逗号分隔

–opt选项还可激活–add-drop-table选项,它将会在备份文件的每条CREATE TABLE前加上一条DROP TABLE IF EXISTS语句。这可方便进行数据表的更新,而不会发生“数据表已存在”的错误。

用mysqldump命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。

% mysqladmin -h remote_host create testdb

% mysqldump –opt testdb | mysql -h remote_host testdb

另外还可通过ssh远程调用服务器上的程序,如:

% ssh remote_host mysqladmin create testdb

% mysqldump –opt testdb | ssh remote_host mysql testdb

通过直接拷贝系统文件的方式备份数据库,在备份时,要确保没有人对数据库进行修改操作。要做到这点,最好关闭服务器。如果不能关闭的,要以只读方试锁定有关数据表。下面是一些示例:

% cp -r db /backup/db #备份db数据库到/backup/db目录

% cp table_name.* /backup/db #只备份table_name数据表

% scp -r db remotehot:/usr/local/mysql/data #用scp把数据库直接拷贝到远程服务器

在把数据库直接拷贝到远程主机时,应注意两台机器必须有同样的硬件结构,或者将拷贝的数据表全部是可移植数据表类型。

使用mysqlhotcopy工具,它是一个Perl DBI脚本,可在不关闭服务器的情况下备份数据库,它主要的优点是:

它直接拷贝文件,所以它比mysqldump快。

可自动完成数据锁定工作,备份时不用关闭服务器。

能刷新日志,使备份文件和日志文件的检查点能保持同步。

下面是该工具的使用示例:

% mysqlhotcopy db /bakcup/ #把db数据库备份到backup/db目录里,会自动创建一个db目录

使用BACKUP TABLE语句进行备份,该语句最早出现在MySQL 3.23.25版本中,仅适用于MyISAM数据表。用法如下:

mysql BACKUP TABLE mytable TO ‘/backup/db’; #把mytable数据表备份到/backup/db目录下

为了执行该语句,你必须拥有那些表的FILE权限和SELECT权限,备份目录还必须是服务器可写的。该语句执行时,会先把内存中的数据写入磁盘,再把各个数据表的.frm(表结构定义文件)、.MYD(数据)文件从数据目录拷贝到备份目录。它不拷贝.MYI(索引)文件,因为它能用另外两个文件重建。BACKUP TABLE语句备份时,依次锁定数据表,当同时备份多个数据表时,数据表可能会被修改,所以备份0完成时,备份文件中的数据和现时数据表中的数据可能会有差异,为了消除该差异,我们可用只读方式锁定数据表,在备份完成后再解锁。如:

mysql LOCK TABLES tb1 READ,tb2 READ;

mysql BACKUP TABLE tb1,tb2 TO ‘backup/db’;

mysql UNLOCK TABLES;

使用BACKUP TABLE语句备份的数据表可用RESTORE TABLE重新加载到服务器。

InnoDB和BDB数据库也可用mysqldump和直接拷贝法进行备份。使用直接拷贝法时应注意需把组成InnoDB和BDB数据库的所有文件都拷贝下来,如InnoDB的.frm文件、日志文件和表空间配置文件;BDB的数据文件、日志文件等。

使用镜像机制进行备份,我们可用SLAVE STOP语句挂起从服务器的镜像,在从服务器上通过直接拷贝法或其它工具制作备份。备份完成,用SLAVE START重新启动镜像,从服务器重新与主服务器同步,接收备份时主服务器所做的修改。

在MySQL中没有为数据库重命名的命令,但我们可用mysqldump转储数据库,再创建一个新的空数据库,把转储文件加载到该新数据库,这样就完成数据库重命名的工作。如:

% mysqldump old_db db.sql #转储db数据库数据

% mysqladmin create new_db #新建一个空的数据库

% mysql new_db db.sql #把db数据库的数据加载到新的数据库中

% mysqladmin drop old_db #删除旧的数据库

一个更简单的重命名数据库的方法是直接修改数据库目录名,但该方法不适用于InnoDB和BDB数据库。注意,在更名后,需在权限表中更新相关数据表信息,需执行以下语句:

mysql UPDATE db SET db=’new_db’ WHERE db=’old_db’;

mysql UPDATE tables_priv SET db=’new_db’ WHERE db=’old_db’;

mysql UPDATE columns_priv SET db=’new_db’ WHERE db=’old_db’;

mysql UPDATE host SET db=’new_db’ WHERE db=’old_db’;

原创文章,作者:DPOJ,如若转载,请注明出处:https://www.506064.com/n/131035.html

(0)
DPOJDPOJ
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

  • a-select设置默认值

    一、设置默认值的方式 a-select是Ant Design中的一个下拉选择器组件,常用于表单中进行选项的选择。在使用a-select时,可以通过多种方式来设置默认选中值。 1、设…

    编程 2024-10-12
  • 谁有完整无错php版的简单介绍

    本文目录一览: 1、php网站源码 2、求一套PHP源码的学校网站程序,要无错版的 3、php小说采集系统,那种好? 4、php视频教程 php网站源码 朋友,看得出来你想用心来经…

    编程 2024-10-04
  • 深入探究GIF分解技术

    作为一种常见的动图格式,GIF(Graphics Interchange Format)在互联网上广泛应用。GIF格式可以将多个图像帧合成一张图,通过不断切换帧来呈现动画效果。但是…

    编程 2024-10-04
  • 详解model_selection

    一、交叉验证 模型的性能指标和泛化能力是一个模型是否好坏的重要标志,但是为了确保模型可以拟合和处理数据,我们需要将数据拆分成训练集和测试集,但是这样仍然存在一个问题:如何保证模型不…

    编程 2024-10-10
  • java代码模板生成器,java程序设计模板

    本文目录一览: 1、求助大神,要求用java代码写一个序列生成器 2、JAVA文件生成器怎么用?(具体步骤) 3、java代码生成器用途 4、大家对Java代码生成器有什么看法?全…

    编程 2024-10-04
  • java调用mysqldump(java调用mysql执行sql脚本)

    1、JAVA调用CMD 导出MYSQL的SQL文件为空,同样的语句在CMD直接调用下可以正确生成文件。 2、怎么从Java客户端调用mysqldump导出数据库 3、如何用java…

    编程 2024-10-03
  • 在input中放入小图标

    一、为什么要在input中放入小图标? 如今,网页设计越来越注重细节,很多时候一个小小的图标可以让整个页面变得更加美观和易于使用。在input中添加小图标,可以在不增加页面空间的情…

    编程 2024-10-04
  • Mybatisplus日期范围查询

    Mybatisplus是Mybatis的增强子项目,它在Mybatis的基础上增加了许多实用的功能,例如分页插件、全表字段自动注入、代码生成器等等。本文将围绕Mybatisplus…

    编程 2024-10-03
  • mysql数据库转换编码,改变mysql数据库编码

    本文目录一览: 1、mysql 更改数据库的编码 2、如何解决MySQL表编码转换问题 3、怎样更改MySQL数据库编码为UTF 4、如何对mysql中的字符进行编码转换 5、如何…

    编程 2024-10-04
  • Java中put方法的使用

    Java中的Map是一种非常常见的数据结构,其具有键值对的形式存储,通常用来存储一组相关的数据。而put方法是Map接口中的一种方法,该方法用来将一组键值对存储到Map中。在本篇文…

    编程 2024-10-04

发表回复

登录后才能评论