zoukankan      html  css  js  c++  java
  • Linux下定时备份数据库

    linux下使用crontab定时备份MYSQL数据库的方法
    只需按照下面3步做,一切都在你的掌控之下:

    第一步:在服务器上配置备份目录代码:

    1 mkdir /var/lib/mysqlbackup 
    2 cd /var/lib/mysqlbackup

    第二步:编写备份脚本代码:

    1 vi dbbackup.sh 
    2 粘帖以下代码,务必更改其中的username,password和dbname。 
    3 #!/bin/sh
    4 mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz
    5 cd  /var/lib/mysqlbackup
    6 rm -rf `find . -name '*.sql.gz' -mtime 10`  #删除10天前的备份文件

    第三步:更改备份脚本权限

    1 chmod +x dbbackup.sh 

    第四步:用crontab定时执行备份脚本代码:

    crontab -e 
    若每天晚上21点00备份,添加如下代码
    00 21 * * * /var/lib/mysqlbackup/dbbackup.sh

    会遇到的问题:
    1.mysqldump 是备份数据库的命令,不懂直接百度就好。
    2.Crontab 是定时任务的命令,如果不懂可以访问http://www.thinkphp.cn/code/1003.html
    3.备份数据首先要确定已经给root设置了密码,否则会报mysqldump执行时Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: YES) when trying to connect
    解决办法:
    登录mysql客户端

    1 mysql -hserverip -uroot -p
    2 mysql> use mysql; Database changed
    3 mysql> update user set password=password('new password') where user='root'; Query OK, 4 rows affected (0.00 sec) Rows matched: 4  Changed: 4  Warnings: 0
    4 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) //这个命令是给用户赋予了新的权限或者密码,直接读到内存中不需要重启数据库防止出错
    5 mysql> quit
  • 相关阅读:
    Asp.Net页面导入和导出到EXCEL
    ASP.NET打包安装的制作方法
    asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
    aspx页面Repeater嵌套Repeater
    JAVASCRIPT校验大全
    SQL语句导入导出大全
    从DataView中生成Excel报表的方案
    用ajax实现dropdownlist多级联动实例
    ASP.NET结合存储过程写的通用搜索分页程序
    C#程序调用外部程序
  • 原文地址:https://www.cnblogs.com/CHEUNGKAMING/p/5717455.html
Copyright © 2011-2022 走看看