MySQL数据库使用命令行备份|MySQL数据库备份命令
例如:
数据库地址:127.0.0.1
数据库用户名:root
数据库密码:pass
数据库名称:myweb
Mysqldump常用命令:mysqldump-u用户名-p密码--databases数据库1数据库2>xxx.sql
例如:
mysqldump -h127.0.0.1 -uroot -p1234 mysql > /home/mysql.backupfile.sql
常见选项:
-u: 用户名
-p: 密码
-P: 端口号,不写默认3306
--all-databases, -A:备份所有数据库
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。
-d: 只导出数据库的表结构
-t: 只导出数据库的数据
--quick, -q:快速导出
--xml, -X:导出为xml文件
一、备份数据:
1、备份数据库到D盘跟目录
mysqldump -h127.0.0.1 -uroot -ppass myweb > d:/backupfile.sql
2、备份到当前目录 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
mysqldump --add-drop-table -h127.0.0.1 -uroot -ppass myweb > backupfile.sql
3、直接将MySQL数据库压缩备份 备份到D盘跟目录
mysqldump -h127.0.0.1 -uroot -ppass myweb | gzip > d:/backupfile.sql.gz
4、备份MySQL数据库某个(些)表。此例备份table1表和table2表。备份到linux主机的/home下
mysqldump -h127.0.0.1 -uroot -ppass myweb table1 table2 > /home/backupfile.sql
5、同时备份多个MySQL数据库
mysqldump -h127.0.0.1 -uroot -ppass --databases myweb myweb2 > multibackupfile.sql
6、仅仅备份数据库结构。同时备份名为myweb数据库和名为myweb2数据库
mysqldump --no-data -h127.0.0.1 -uroot -ppass --databases myweb myweb2 > structurebackupfile.sql
7、备份服务器上所有数据库
mysqldump --all-databases -h127.0.0.1 -uroot -ppass > allbackupfile.sql
8、还原MySQL数据库的命令。还原当前备份名为backupfile.sql的数据库
mysql -h127.0.0.1 -uroot -ppass myweb < backupfile.sql
9、还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -h127.0.0.1 -uroot -ppass myweb
10、将数据库转移到新服务器。此例为将本地数据库myweb复制到远程数据库名为serweb中,其中远程数据库必须有名为serweb的数据库
mysqldump -h127.0.0.1 -uroot -ppass myweb | mysql --host=***.***.***.*** -u数据库用户名 -p数据库密码 -C serweb
二、还原数据库:
1. 系统命令行:
mysqladmin -uroot -p123456 create db_name
mysql -uroot -p123456 db_name < d:\bak\0101.sql
注:在导入备份数据库前,db_name如果没有,是需要创建的; 而且与backup0527.sql中数据库名是一样的才可以导入。
2. soure 方法:
mysql > use db
mysql > source d:\bak\0101.sql
Comments:
1. 还原单个数据库、单个数据库的多表需要指定数据库,而还原多个数据库时不用指定数据库。
2. 区别:备份用的命令是mysqldump, 还原用的是mysql。
转载自:/hellangels333/p/9059770.html