数据库数据备份
#!/bin/bash
db_PATH='/datedump/mysql'
db_DBNAME='ocs'
db_HOST='127.0.0.1'
db_PORT='3306'
db_USER='root'
db_PASSWORD='root'
db_DATE=$(date -d now +"%Y%m%d%H%M")
echo "-------$(date -d now +"%Y-%m-%d %H:%M:%S") begin datedump------" >> ${db_PATH}/db_backup_ocs.log
echo 'doing....' >> ${db_PATH}/cb_backup_ocs.log
/usr/local/mysql/bin/mysqldump -h$db_HOST -P$db_PORT -u$db_USER -p$db_PASSWORD --add-locks -q $db_DBNAME | gzip > ${db_PATH}/${db_DBNAME}${db_DATE}.sql.gz
echo 'success!' >> ${db_PATH}/db_backup_ocs.log
echo "-------$(date -d now +"%Y-%m-%d %H:%M:%S") end datedump------" >> ${cb_PATH}/db_backup_ocs.log
echo "=====================================================" >> ${cb_PATH}/db_backup_ocs.log
echo '' >> ${db_PATH}/db_backup_ocs.log
上面生成的gzip包,可以用
gunzip **.gz 或者
gzip -d **.gz进行解压。
注意,当写入crontab中执行的时候。脚本中所有的执行命令最好用全路径。
结论是crontab执行时不会携带用户的环境变量,缺失一些系统变量。需要在脚本里额外添加缺失的环境变量 或者命令写全路径。
邮件发送备份附件
echo "内容:时间为$cb_DATE的数据据库备份" | mutt -a ${cb_PATH}/${cb_DBNAM E}${cb_DATE}.sql.gz -s "ocs数据库备份" 275553385@qq.com
http://blog.csdn.net/fafa211/article/details/2344567
备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword -Pprot databasename > backupfile.sql
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
分享到:
相关推荐
mysql数据库备份shell脚本,每天备份,只保留30天的备份数据
MySQL备份的自动执行脚本,以及MySQL的计划任务,里面的内容都是自己写的,如有用到,记得改一下脚本里的内容,逻辑及格式正确,自己改一下参数就能用。
基于xtrabackup的MySQL数据库备份及还原Shell脚本
基于Xtrabackup的MySQL数据库备份Shell脚本
Linux下定时备份MySQL数据库的Shell脚本.pdf
mysql自动备份shell脚本,个人感觉写的挺好的,推荐一下! mysql数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要...
Linux下mysql数据库备份以及恢复shell脚本
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
mysql数据库定期自动备份的shell脚本。如定期每三天自动备份数据库,并只保存20份备份文件,多余的删除。
这是一份完整的简单的MYSQL数据库备份脚本。 1、支持指定备份文件夹。 2、支持动态文件名:库名+时间戳
MySQL数据库备份后台脚本,上传到数据库服务器,通过shell后台执行,其中支持数据库密码加解密
Mysql备份,shell脚本运行代码,创建各自不同的目录文件
mysql自动备份数据库脚本,使用shell进行编写,自动将备份脚本打包zip包。方便使用。
MySQL数据库的shell脚本自动备份 经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的。一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行。我们...
index是主文件,会调用mysql_back.sh,只执行index即可,测试机是在170远程备份158的数据库到170上的文件夹里,该脚本未做目录是否存在的校检,使用前还需要建立 ~/workspace/目录
防止误删服务器数据库 ,使用Shell脚本备份...mysql数据里面有个atguiguDB数据库 将这个数据库备份到/data/backup/db -----》shell脚本写到/usr/sbin/mysql_db_backup.sh---》然后将脚本设置到crond执行 2)代码实现
linux服务器上,自己做所有数据库备份脚本方法,先打包在保存
生产环境中的mysql如何按时间、按具体的备份资源的方式、路径要求、做好数据的可靠性的数据备份,以防数据的丢失,并做好可完整性的还原,提供具体详细的shell命令方法
可以通过修改配置直接备份mysql中的所有数据库数据