linux mysql数据库定时自动备份

1.创建备份目录:

# mkdir  -p /mysqldata/backup

2.创建备份shell脚本

# 不需要压缩的
#!/bin/bash
mysqldump -uroot -p12345 hello >/mysqldata/backup/hello_$(date +%Y%m%d_%H:%M:%S).sql
#说明:-u后面是用户名,-p后面为密码,hello为数据库名称;

#需要压缩的
#!/bin/bash
mysqldump -uroot -p12345 hello |gzip >/mysqldata/backup/hello_$(date +%Y%m%d_%H:%M:%S).sql.gz

3.添加可执行权限:

# chmod +x mysqlbak.sh

4.添加计划任务

# crontal -e
0 2 * * * /mysqldata/mysqlbak.sh 
# 每天凌晨2点执行备份任务;

4.查看执行日志;

# tail -f /var/log/cron

 

MySQL数据库常用备份与还原命令:

格式:mysqldump -h主机名(可以省略)  -u用户名 -p密码 --database 数据库名 > 文件名.sql

1、备份命令
# mysqldump -h127.0.0.1 -uroot -ppassword --database hello > /mysqldata/hello.sql

2、备份压缩
# mysqldump -h127.0.0.1 -uroot -ppassword --database hello | gzip > /mysqldata/hello.sql.gz

3、同时备份多个库
# mysqldump -h127.0.0.1 -uroot -ppassword --databases hello hello1 hello2 | gzip > /mysqldata/mutil_db.sql

4、备份所有的数据库
# mysqldump -h127.0.0.1 -uroot -ppassword --all-databases > /mysqldata/all.sql

5、备份数据出带删除数据库或者表的sql备份
# mysqldump -h127.0.0.1 -uroot -ppassword --add-drop-table --add-drop-database hello  > /mysqldata/hello.sql

6、备份数据库结构,不备份数据
# mysqldump  --no-data –databases hello hello1 hello2 > /mysqldata/structure.sql

7、将数据库转移到新服务器;此例为将本地数据库hello复制到远程数据库名为serweb中,其中远程数据库必须有名为serweb的数据库;
# mysqldump -h127.0.0.1 -uroot -ppassword hello | mysql --host=***.***.***.*** -u数据库用户名 -p数据库密码 -C serweb

8、还原数据库
# mysql -uroot -ppassword hello < /mysqldata/hello.sql

9、还原压缩的MySQL数据库
# gunzip < /mysqldata/hello.sql.gz | mysql -uroot -ppassword hello

 

posted @ 2020-05-14 10:49  区域管理员  阅读(289)  评论(0编辑  收藏  举报