mysql有通过mysqldump备份和直接复制数据文件两种备份方法,但直接复制方法有移植性不强的缺点,当你使用一种直接备份方法时,你必须保证表不在被使用,优点是适合备份大数据量文件.
mysqldump备份的优点:能够移植到其他机器上,甚至不同硬件结构不同操作系统的机器上.
缺点:缺省地,mysqldump在写入前将一个表的整个内容读进内存,这通常确实不必要,并且实际上如果你有一个大表,几乎是失败的.
mysql数据备份与还原命令:
备份:
- mysqldump-uroot-p密码testtest1>test.sql
- mysqldump备份命令
- root用户名(root管理员)
- test备份的数据库名
- test数据库下需备份的表test1备份的表名
- >备份符号--phpfensi.com
- test.sql备份的路径和文件名
注:以上命令只备份表test1,数据库test下的其它表不进行备份.
还原:
- mysql-uroot-ptest<d:test.sql
- mysql还原命令
- root用户名(root管理员)
- test备份的数据库名;
- <还原符号
- test.sql还原的文件名
例子
mysqldump 远程备份
mysqldump -h ip -uroot -proot database > c:data.sql
导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql
导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dump.sql
导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
mysqldump按条件导出:
mysqldump -u用户名 -p密码 -h主机 数据库 a --where "条件语句" --no-建表> 路径
mysqldump -uroot -p1234 dbname a --where "tag='88'" --no-create-info> c:/a.sql