linux下使用crontab定时备份MYSQL数据库的方法
只需按照下面3步做,一切都在你的掌控之下:
第一步:在服务器上配置备份目录代码:
-------------------------------------------------------------------------------- mkdir /var/lib/mysqlbackup <br><br>
cd /var/lib/mysqlbackup<br><br>
--------------------------------------------------------------------------------
第二步:编写备份脚本代码:
-------------------------------------------------------------------------------- vi dbbackup.sh --------------------------------------------------------------------------------
粘帖以下代码,务必更改其中的username,password和dbname。
代码:
-------------------------------------------------------------------------------- #!/bin/sh<br><br>
mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz<br><br>
cd /var/lib/mysqlbackup<br><br>
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/1003.html
3.备份数据首先要确定已经给root设置了密码,否则会报mysqldump执行时Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
解决办法:登录mysql客户端<br><br>
mysql -hserverip -uroot -p<br>
mysql> use mysql; Database changed<br>
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<br>
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) //这个命令是给用户赋予了新的权限或者密码,直接读到内存中不需要重启数据库防止出错<br>
mysql> quit
AD:真正免费,域名+虚机+企业邮箱=0元
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号