mysql数据库的备份(mysqldump)和恢复(source)
mysql备份方法
格式: mysqldump -h主机IP -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql
备份命令
# 本地备份可以不添加端口和主机IP,username、passward是数据库用户名和密码 --database指定某个数据库
# 备份某个数据库
mysqldump -h ip -p 3306 -u username -p password --database 某个数据库名 > /data/backup/某个数据库名.sql
# 同时备份多个库
mysqldump -h ip -p 3306 -u username -p password --databases db1 db2 db3 > /xxx/dbs.sql
#备份实例上所有的数据库
mysqldump -h *.*.*.* -p 3306 -u username -p password --all-databases > /data/backup/mysql_db.sql
# 备份某个数据库下的多个表
mysqldump -h ip -p 3306 -u username -p password --database 数据库名 表1 表2 表2 表n > tables.sql
#备份数据库结构,不备份数据
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql
mysqldump -h ip -p 3306 -u username -p password --no-data –databases mysql1 mysql2 mysql3 > /data/backup/structure_db.sql
#备份压缩
格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz
mysqldump -h ip -p 3306 -u username -p password --database 数据库名 | gzip > 数据库名.sql.gz
还原MySQL数据库的命令
# 方法一 直接在shell中使用命令行
mysql -h *.*.*.* -u username -p passward < test.sql
# 方法二 也可以进入mysql,在mysl命令行下面用source导入
1、mysql -uroot -p
2、回车输入密码进入mysql命令行中,输入以下命令:
3、mysql>source d:\test.sql
#还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -u username -p password 数据库名
#将数据库转移到新服务器 database为数据库名
mysqldump -u username -p password database | mysql –host=*.*.*.* -C database