Linux下mysql定时备份
创建备份文件
mkdir /var/lib/mysqlbackup
cd /var/lib/mysqlbackup
编写备份脚本代码
vi dbbackup.sh
粘贴以下代码务必更改其中的username,password和dbname
#!/bin/sh
mysqldump -uroot -p123456 ssc | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz
cd /var/lib/mysqlbackup
rm -rf `find . -name '*.sql.gz' -mtime 10` #删除10天前的备份文件
更改备份脚本权限
chmod +x dbbackup.sh
用crontab定时执行备份脚本代码
crontab -e
若每天晚上2点00备份,添加如下代码,
代码: 00 2 * * * /var/lib/mysqlbackup/dbbackup.sh //若每天晚上2点00备份,添加如下代码,
问题:如果提示 执行mysqldump命令没找到
直接输入命令mysqldump会发现提示命令不存在,是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,自然会找不到命令,并报错。知道了问题的所在,就直接去处理,先用一条find命令查找mysqldump的所载路径。
find / -name mysql -print // 找到mysql的安装目录
然后再用ln命令链接到/usr/bin下面。
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
mysqldump 几个参数
mysqldump -uroot –proot --quick --no-create-info --extended-insert --default-character-set=utf-8 test>test.sql
参数说明:
–quick:用于转储大的表,强制mysqldump从服务器一次一行的检索数据而不是检索所有行,并输出当前cache到内存中
–no-create-info:不要创建create table语句
–extended-insert:使用包括几个values列表的多行insert语法,这样文件更小,IO也小,导入数据时会非常快
–default-character-set=utf-8:按照原有字符集导出数据,这样导出的文件中,所有中文都是可见的,不会保存成乱码
文章转载于: https://blog.youkuaiyun.com/qq_36698956
版权声明:博客对我来说是记忆的笔记和知识的分享~非常感谢博客大神的帮助,若有无意侵权,请您联系我,谢谢