mysql备份 mysql备份和还原数据库
您好,今天天天来为大家解答以上的问题。mysql备份相信很多小伙伴还不知道,现在让我们一起来看看吧!
mysql备份 mysql备份和还原数据库
mysql备份 mysql备份和还原数据库
1、mysql> flush privileges;MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。
2、Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份 binlog,或者用 mysqldump。
3、1. 使用直接拷贝数据库备份 典型的如cp、tar或cpio实用程序当你使用直接备份方法时,必须保证表不在被使用。
4、如果在你正在拷贝一个表时改变它,拷贝就失去意义。
5、保证你的拷贝完整性的方法是关闭,拷贝文件,然后重启。
6、 如果你不想关闭,要在执行表检查的同时锁定。
7、如果在运行,相同的制约也适用于拷贝文件,应该使用相同的锁定协议让“安静下来”。
8、当你完成了MySQL数据库备份时,需要重启(如果关闭了它)或释放加在表上的锁定(如果你让运行)。
9、 要用直接拷贝文件把一个数据库从一台机器拷贝到另一台机器上,只是将文件拷贝到另一台主机的适当数据目录下即可。
10、要确保文件是MyIASM格式或两台机器有相同的硬件结构,否则你的数据库在另一台主机上有奇怪的内容。
11、你也应该保证在另一台机器上的在你正在安装数据库表时不访问它们。
12、2. 使用mysqldump数据库备份mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。
13、mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。
14、mysqldump 的一些主要参数:1)--compatible=name它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 相兼容。
15、值可以为 ansi、mysql323、mysql40、tgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用几个值,用逗号将它们隔开。
16、当然了,它并不保证能完全兼容,而是尽量兼容。
17、2)--complete-insert,-c导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。
18、这么做能提高插入效率,但是可能会受到 max_allowed_packet 参数的影响而导致插入失败。
19、因此,需要谨慎使用该参数,至少我不。
20、3)--default-character-set=charset指定导出数据时采用何种字符集,如果数据表不是采用默认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。
21、4)--disable-keys告诉mysqldump 在 INSERT 语句的开头和结尾增加 ; 和 ; 语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。
22、该选项只适合 MyISAM 表。
23、5)--extended-insert = true|false默认情况下,mysqldump 开启 --complete-insert 模式,因此不想用它的的话,就使用本选项,设定它的值为 false 即可。
24、6)--hex-blob使用十六进制格式导出二进制字符串字段。
本文到这结束,希望上面文章对大家有所帮助。