• 技术文章 >运维 >linux运维

    你知道Linux下怎么定时备份数据库吗?

    藏色散人藏色散人2021-09-14 15:41:16转载165
    下面由linux系统教程栏目给大家介绍Linux下定时备份数据库方法,希望对需要的朋友有所帮助!

    linux下使用crontab定时备份MYSQL数据库的方法

    只需按照下面3步做,一切都在你的掌控之下:

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

     mkdir /var/lib/mysqlbackup 
     cd /var/lib/mysqlbackup

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

     vi dbbackup.sh
     粘帖以下代码,务必更改其中的username,password和dbname。
     #!/bin/sh
     mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbnamedate +%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

    若每天晚上21点00备份,添加如下代码

    00 21 * /var/lib/mysqlbackup/dbbackup.sh

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

    解决办法:

    登录mysql客户端

     mysql -hserverip -uroot -p
     mysql> use mysql; Database changed
     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
     mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) //这个命令是给用户赋予了新的权限或者密码,直接读到内存中不需要重启数据库防止出错
     mysql> quit

    推荐学习:《linux视频教程

    以上就是你知道Linux下怎么定时备份数据库吗?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:mysql
    上一篇:一文详解Linux如何安装Symfony2.8 下一篇:详细讲解Linux系统的logrotate
    线上培训班

    相关文章推荐

    • linux yum怎么安装php环境• 一、Linux CentOS服务器购买、搭建与管理(图文全流程)• 一文详解Linux如何安装Symfony2.8• linux 命令怎么安装nodejs

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网