Mysql数据库备份和还原
来源:互联网 发布:域名如何绑定服务器 编辑:程序博客网 时间:2024/05/01 08:22
1. 命令备份和还原数据库
1.1命令备份数据
1)备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
2)备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
3)直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
4)备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
5)同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2databasename3 > multibackupfile.sql
6)仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
7)备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql
1.2命令还原数据库
1)还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
2)还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
例如:恢复我们实验室的数据库,到40上有备份文件的目录去执行:
gunzip < backupfile.sql.gz |mysql –uroot(这样就行了)
3)将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql–host=*.*.*.* -C databasename
4)将多个数据库同时还原
gunzip < backupfile.sql.gz | mysql -uroot (这里是我们的项目中的还原数据库)因为是多个数据库在一个压缩包里面,所以不能用各个数据库的name和password去还原,也不能写具体到那个数据库。
5)单独的数据库恢复
mysql -uaqtas -paqtas websim < ams_websim_dump_0910.sql
gunzip < ams_websim_dump_0910.sql.gz |mysql -uaqtas -paqtas websim
2. 程序自动备份数据库
2.1备份数据
以下是一个数据库备份的.sh文件
#!/bin/bash
#
#Backup database
#
# bakup directory
export BACK_DIR=/home/Jenny/backup(申明备份文件存放的位置)
# mysql user name & password
database_user=aqtas
database_pass=aqtas
database_name_aqtas=aqtas
database_name_aqvue=aqvue(需要备份的两个数据库)
hostname=10.1.10.40
# get current time
current_time=`date +"%Y%m%d%H%M%S"`
(%Y 年,数字, 4 位;%m月, 数字(01……12);%d月份中的天数, 数字(00……31);
%H 小时(00……23) ;%M分(00.......59);%S秒(00……59))
# generate bakup file name for database
database_bakup_aqtas="aqtas-sql-bak_${current_time}.sql"(备份文件的名称)
database_bakup_aqvue="aqvue-sql-bak_${current_time}.sql"
# generate bakup file name for database(可以备份成压缩包的格式)
database_bakup_aqtas="aqtas-sql-bak_${current_time}.sql.gz"
database_bakup_aqvue="aqvue-sql-bak_${current_time}.sql.gz"
# bakup database
#backup aqtasdb,aqvuedb
mysqldump -h${hostname} -u${database_user} -p${database_pass} ${database_name_aqtas} > $BACK_DIR/${database_bakup_aqtas}
mysqldump -h${hostname} -u${database_user} -p${database_pass} ${database_name_aqvue} > $BACK_DIR/${database_bakup_aqvue}
# bakup database(这里也可以把多个数据库备份成一个压缩文件)
#backup aqtasdb,aqvuedb
mysqldump -h${hostname} -u${database_user} -p${database_pass} $databases {database_name_aqtas} {database_name_aqvues} | gzip > $BACK_DIR/${database_bakup_aqtas}
# restore database
# localhost databse name&password
localhost_database_username_aqtas=aqtas
localhost_database_password_aqtas=aqtas
localhost_database_username_aqvue=aqvue
localhost_database_password_aqvue=aqvue
#restore aqtasdb,aqvuedb to localhost
mysql -u $localhost_database_username_aqtas -p $localhost_database_password_aqtas <$BACK_DIR/${database_bakup_aqtas}
mysql -u $localhost_database_username_aqvue -p $localhost_database_password_aqvue <$BACK_DIR/${database_bakup_aqvue}
# delete bakup files 7 days ago
#find $BACK_DIR -name "jira*" -ctime +7 -type f -exec rm -f {} \;
#find $BACK_DIR -name "testlink*" -ctime +7 -type f -exec rm -f {} \;
2.2还原数据库
gunzip < backupfile.sql.gz | mysql -uroot (这里是我们的项目中的还原数据库)因为是多个数据库在一个压缩包里面,所以不能用各个数据库的name和password去还原,也不能写具体到那个数据库。
- 备份和还原MySQL数据库
- mysql数据库备份和还原
- Mysql数据库备份和还原
- mysql 数据库备份和还原
- mysql数据库备份和还原
- mysql数据库备份和还原
- mysql数据库备份和还原
- Mysql备份和还原数据库
- mysqldump备份数据库和mysql还原数据库
- mysqldump备份数据库和mysql还原数据库
- MYSQLDUMP备份数据库和MYSQL还原数据库
- MYSQLDUMP备份数据库和MYSQL还原数据库
- MySQL数据库备份和还原的常用命令
- MySQL数据库备份和还原的常用命令
- MySQL数据库备份和还原的常用命令
- MySQL数据库备份和还原的常用命令
- MySQL数据库备份和还原的常用命令
- MySQL数据库备份和还原的常用命令
- 2012春节快到了我们聚会吧!
- Java中使用jdbc连接数据库详解
- xcode 调试 中将断点 断在异常抛出函数中
- ruby 常用的方法的总结
- Cannot find class [org.apache.commons.dbcp.BasicDataSource
- Mysql数据库备份和还原
- zoie-solr插件修改:ZoieUpdateHandler
- Java对象的强、软、弱和虚引用
- 由于MSSQLSERVER服务导致无法登录的问题
- 常用sql语句
- Android中 在显示ImageView时图片上面和下面都出现一段空白区间的解决办法
- 使用MySQL命令行修改密码
- zookeeper
- 研发项目管理中需要注意的人性弱点