sql数据库备份语句

SQL数据库复制语句。

使用SQL语句备份和恢复数据库的步骤:

bacqup.sql这将保存ondemand1。
备份数据库中的所有表。

2.参数格式为:--,两个水平杆而不是我们习惯的单个水平杆。

3.如果不使用该参数,所有数据都存储在内存中;当数据太多而减慢服务器速度时,可以使用Quick。

4.--u必须添加用户名;否则,系统将警告您无法访问ODBC数据库。

backup.sql是备份数据库的目标文件名。

6.恢复:m1ysql-uroot-pdatabase_name?d:db.bakWIN下;不能使用path/filename.sql作为路径;所以使用pathfilename.sql。

SQL语句:

它是一种操作数据库的语言。
结构化查询语言(StructuredQueryLanguage)指的是SQL;访问数据和查询;用于修改和管理关系数据库系统的数据库查询和编程语言。

其他命令:

例如,恢复命令:

USEmaster

GO

RESTOREDATABASEtest_wt

FROMdisk='c:test_wt'

GO

MySQL。

实现MySQL数据库的备份与还原的几种方法

由于MyISAM表以文件的形式存储,因此使用上述许多方法来备份它们相对容易。
Innodb中的所有表都存储在同一个数据文件ibdata1中(这可以是多个文件或单独的表空间文件);它可以使用binlog来备份数据文件,这是免费的解决方案,但备份起来相当困难。
1.使用livebackup数据库备份cp,使用tar或cpio等常用实用程序进行直接备份方法时您必须确保该表不再使用。
如果在复制时从服务器更改表。
复制没有意义。
确保副本完整性的最佳方法是关闭服务器;复制文件后,重新启动服务器。
如果您不想关闭服务器,运行表检查时锁定服务器。
如果服务器正在运行相同的限制适用于复制文件,并且应使用相同的锁定协议来“安静”服务器。
当MySQL数据库备份完成时;您将需要重新启动服务器(如果已禁用)或释放表上的锁(如果服务器正在运行)。
使用LiveCopy文件将数据库从一台计算机复制到另一台计算机;另一台服务器主机上的文件复制到相应的数据目录。
文件为MyIASM格式或者两台设备具有相同的硬件配置;否则你的数据库中将会有奇怪的内容。
您还应该确保在安装时另一台计算机上的服务器不会访问其数据库表。
2、使用mysqldump数据库备份mysqldump采用SQL级别备份机制,非常适合作为SQL脚本文件升级数据表。
mysqldump程序备份数据库的速度很慢,但它生成的文本文件很容易导出。
mysqldump的一些关键参数:1)--兼容=名称这告诉mysqldump哪个数据库或旧版本的MySQL服务器与提取的数据兼容。
值可以是ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等。
使用多个值;用逗号分隔它们。
当然,它不保证完美兼容,但力求兼容。
2)--complete-insert,-c使用完整INSERT方法发送数据,包括字段名称;也就是将所有值写在一个字符串上。
这样做可能会提高安装性能,但可能会受到max_allowed_pa​​cket限制的影响,安装可能会失败。
所以,这个限制需要谨慎使用;至少我不推荐它。
3)--default-character-set=charset指定导出数据时使用的默认字符集。
4)--disable-keys告诉mysqldump在INSERT语句的开头和结尾添加;该选项仅适用于MyISAM表。
5)--extended-insert=true|false默认情况下,mysqldump启用--complete-insert模式;所以如果你不想使用它。
使用此选项并将其值设置为false。
6)--hex-blob使用十六进制格式导出二进制字符串字段。
如果存在二进制数据,则必须使用此选项。
受影响的字段类型是BINARY,VARBINARY和Blob。
7)--锁定所有表;-x在开始导出之前;提交请求锁定所有数据库中的所有表,以保证数据一致性。
这是一个全局读锁,由--single-transaction和--lock-tables选项自动禁用。
8)--lock-tables这与--lock-all-tables类似;但它会锁定当前获取的数据表,而不是一次性锁定数据库中的所有表。
此选项仅适用于MyISAM表。
9)--无创建信息;-t仅导出数据而不添加CREATETABLE语句。
10)--无数据;-d不导出任何数据;仅数据库表构建。
11)--opt这只是一个快捷方式选项,相当于--add-drop-tables-add-locking--create-option--disable-keys--extended-insert--lo相同的条目。
timeck-tables--quick--set-charset选项。
该选项mysqldump数据快速导出并快速重新导入导出的数据。
该选项默认启用,但可以使用--skip-opt禁用。
如果运行mysqldump时未指定--quick或--opt选项;请注意,整个结果集将存储在内存中。
导出大型数据库可能会导致问题。
12)--quick,-q该选项强制mysqldump在导出大表时从服务器搜索记录并直接转储它们,而不是获取所有记录然后保存它们。
13)--例行公事,-R导出存储过程和自定义函数。
14)--single-transaction该选项可以保证在数据导出之前提交BEGINSQL语句不会导致应用程序阻塞以及导出过程中数据库的一致性。
它仅适用于InnoDB和BDB等事务表。
此选项和​​--lock-tables选项是互斥的,因为LOCKTABLES会导致隐式提交挂起的事务。
应结合使用--quick选项来导出大型表。
--triggers也是导出触发器。
该选项默认启用,并通过--skip-triggers禁用。
备份:使用mysqldump备份数据库,实际CREATEABLE数据库。
被转储到一系列条目中;我们可以重新生成数据库。
mysqldump的使用方法如下:%mysqldump--opttestdb|gzip>/data/backup/testdb.bak#--opt选项将优化转储过程;生成的备份文件会更小。
后续将进行管道操作。
运行%mysqldump--opttestdbmytable1,mytable压缩数据。
2|gzip>/data/backup/testdb_mytable.bak#可以在database后面添加数据表名,并用逗号分隔指定的数据表--opt选项也可以activate--add-。
删除表选项;这将在每个备份文件中的每个CREATETABLE之前添加一条DROPTABLEIFEXISTS语句。
这样可以更轻松地更新数据表,而不会导致“数据表已存在”错误。
您还可以使用mysqldump命令将数据库直接传输到另一台服务器,而无需创建备份文件。
迭代定期更新远程数据库。
%mysqladmin-hremote_hostcreatetestdb%mysqldump--opttestdb|mysql-hremote_hosttestdb您可以:%sshremote远程调用服务器上的程序;例如:%sshremote_hostmysqladmincreatetestdb%mysqldump--opttestdb|sshremote_hostmysqltestdb通过直接复制系统文件来备份数据库时。
确保没有人正在修改数据库。
为此,最好关闭服务器。
如果无法关闭,请尝试以只读模式锁定相应的数据表。
就是这个一些示例是:%cp-rdb/backup/db#db将数据库备份到/backup/db目录%cptable_name.*/backup/db#table_name数据表%scp-rdbremotehot:/usr/local/mysql/data#scp将数据库直接复制到远程服务器当使用以下命令将数据库直接复制到远程服务器时两台设备必须具有相同的硬件配置;或者您应该注意所有内容都已复制。
数据表是一种便携式数据表。
或/usr/local/mysql/bin/mysqldump-uroot-proot\--default-character-set=utf8--opt--extended-insert=false\--triggers-R--hex-blob-xtestdb>testdb.sql使用以下SQL。
备份Innodb表:/usr/local/mysql/bin/mysqldump-uroot-proot\--default-character-set=utf8--opt--extended-insert=false\--triggers-R--hex-blob--single-transactiontestdb>testdb.sql此外,如果想要在线备份,可以使用--master-data参数,如下:/usr/local/mysql/bin/mysqldump-uroot-proot\--default-character-set=utf8--opt--master-data=1\-single-transaction--flush-logstestdb>testdb.sql这仅询问最初锁定的表;然后重启binlog,然后将CHANGEMASTER语句添加到提取的文件中以指定当前备份二进制日志位置。
如果要将这个文件恢复到从机上,您可以使用此方法。
恢复:用mysqldump备份的文件是一个SQL脚本,可以直接插入数据。
直接使用mysql客户端;示例:/usr/local/mysql/bin/mysql-uroot-proottestdb例如:SOURCE/tmp/testdb.sql。
3.使用mysqlhotcopy工具进行数据库备份。
这是一个PerlDBI脚本,mysqlhotcopy是一个PERL程序,最初由TimBunce编写。
它使用LOCKTABLES来快速备份数据库。
冲水台和cp或使用scp。
这是备份数据库或表的最快方法;但只有数据库文件(包括数据表定义文件、数据文件、索引文件)所在的数据库文件才能在机器上执行。
mysqlhotcopy只能用于备份MyISAM,并且只能运行在类Unix和NetWare系统上。
它的主要优点是:它直接复制文件,因此比mysqldump更快。
备份时无需关闭服务器即可自动完成数据锁定。
可以重新启动日志来同步备份文件和日志文件的检查点。
备份:mysqlhotcopy支持一次复制多个数据库,以及正则表达式。
下面是一些示例:/usr/local/mysql/bin/mysqlhotcopy-h=localhost-u=root-p=root\testdb/tmp(将数据库目录testdb复制到/tmp)/usr/local/mysql/bin/mysqlhotcopy-h=localhost-u=root-p=root\testdb_1testdb_2testdb_n/tmp/usr/local/mysql/bin/mysqlhotcopy-h=localhost-u=root-p=root\testdb./regex//tmp检索:mysqlhotcopy整个数据库备份时的目录同时可以直接复制到mysqld指定的datadir(这里是/usr/local/mysql/data/)。
一定要注意审批。
问题如下例:cp-rftestdb/usr/local/mysql/data/chown-Rnobody:nobody/usr/local/mysql/data/(将testdb目录的所有者更改为运行mysqld的用户)4.使用数据库备份BACKUPTABLE的SQL语句语法与mysqlhotcopy的工作原理非常相似;表格复制它。
可以进行在线备份,但不推荐,因为效果不太理想。
它只备份表配置文件和数据文件,但不同时备份索引文件,因此恢复速度较慢。
backup:BACKTABLEtbl_testTO'/tmp/testdb/';#备份tbl_test数据库到/tmp/testdb/目录下;运行该语句,会自动创建testdb目录;您必须启用FILE权限和SELECT权限。
那些图表,备份目录还必须可从服务器写入。
执行该语句时;内存中的数据会先写入磁盘;然后,每个数据表的.frm(表结构定义文件)和.MYD(数据)文件将从数据目录复制到数据目录。
备份指南。
它不会复制.MYI(标签)文件,因为它可以使用其他两个文件重建.MYI(标签)文件。
当BACKUPTABLE语句备份时;同时备份多个数据表时;修改数据表后;备份文件和数据可以修改。
为了消除当前数据表中的这种差异,我们可以将数据表锁定为只读模式,备份后解锁。
示例:mysql>LOCKTABLEStb1READ,tb2READ;mysql>BACKUPTABLEtb1,tb2TO'backup/db';mysql>UNLOCKTABLES;备份表可以使用语句将备份的数据表恢复到服务器上。
您必须有FILE权限才能执行此SQL;和/tmp/testdb/目录请注意,mysqld用户提取的文件不能覆盖现有文件,以避免安全问题。
SELECTINTOOUTFILE将数据导出到纯文本文件,并且可以自定义字段间距以方便处理此数据。
例如:SELECT*INTOOUTFILE'/tmp/testdb/tbl_test.txt'FROMtbl_test;您必须具有FILE权限才能运行此SQL;并且文件/tmp/testdb/tbl_test.txt必须可由mysqld用户写入。
无法覆盖现有文件以避免安全问题。
恢复:针对使用BACKUPTABLE方法备份的文件;您可以执行RESTORETABLE语句来恢复数据表。
示例:RESTORETABLEFROM'/tmp/testdb/';对于使用SELECTINTOOUTFILE方法备份的文件;您可以执行LOADDATAINFILE语句来恢复数据表。
示例:LOADDATAINFILE'/tmp/testdb/tbl_name.txt'INTOTALEtbl_name权限要求与上述类似。
在导入数据之前,数据表必须已经存在。

mysql中怎么单独备份一个表

d:\bbb.sql备份的目的有3个:

灾难恢复:恢复损坏的数据和恢复;

需求变更:由于需求变更,必须将数据恢复到变更前;

测试:测试新功能是否可用。

备份时要考虑的问题:

您能容忍数据丢失多长时间?

恢复数据需要多长时间?

恢复时是否需要继续提供服务;

恢复对象为整个数据库、多个表或单个数据库或单个表。