centos环境中mysql数据库里的数据…

来源:互联网 发布:无人机数据采集 编辑:程序博客网 时间:2024/05/17 22:21

因为项目需要,查阅了一些关于centos中mysql数据库的备份资料,在这里记录一下。

   1.创建目录来存放备份的sql文件

   [root@hust apache-tomcat-6.0.35]# mkdir database_backup

   通过find命令可以用来查看database_backup目录的绝对路径,这个路径以后会用到

   [root@hust /]# find -name database_backup
    ./usr/local/tomcat/apache-tomcat-6.0.35/database_backup

   2.建立shell脚本,执行备份的操作

   将脚本放在/usr/sbin目录下,脚本名称为mysqlback.sh

   编辑脚本:

   [root@hust /]# vi /usr/sbin/mysqlback.sh

    在里面输入如下内容:

   date=` date +%Y%m%d `
   mysqldump -uusername -ppassword -hhostname  database-name  >./usr/local/tomcat/apachetomcat-6.0.35/database_backup/database-name$date.sql

   注意:上面date那行不是单引号,而是Esc按键下的那个点,如果使用单引号,会得不到希望的结果的,如果不行,就直接copy上面的那行语句。

    将mysqldump那行的username,password,hostname,database-name换成自己的,-uusername是连着的,如-uroot,password,hostname也是连着的。

   3.最好修改下mysqlback.sh的权限

[root@hust sbin]# chmod 777 mysqlback.sh
   4.修改/etc/crontab

   这个配置文件是设置定时执行的,在最下面加入

  01 2 * * * root /usr/sbin/mysqlback.sh

  会让mysqlback.sh这个脚本每天2点01分执行,如果想设置成其他的时间执行,可以查看crontab的说明

   修改后的crontab文件如下:

SHELL=/bin/bash
PoTH=/sbin:/bin:/usr/sbin:/usr/bin
t /usr/sbin/mysqlback.sh

MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
01 2 * * * root /usr/sbin/mysqlback.sh

   5.重启crond

  [root@hust sbin]# /etc/rc.d/init.d/crond restart
停止 crond:                                               [确定]
正在启动 crond:                                           [确定]
这样,每天凌晨2点01分就会进行数据库备份了。并将备份后的.sql文件存在./usr/local/tomcat/apache-tomcat-6.0.35/database_backup目录下,备份的文件名是数据库名+日期名的形似。如test20121226.sql这样的形式。


原创粉丝点击