简单的的备份方法:
找到数据库存放的目录,默认在/var/lib/mysql下,及确定那需要备份的数据库名
然后运行:%MYSQL_HOME%/bin/mysqlhotcopy 数据库名 -u 用户名 -p 密码 备份文件存放路径 | logger -t mysqlhotcopy
运行完就可以了,
再去备份目录看看是否有将数据库的表都成功备份出来.
注意:报错"...Perhaps the DBD::mysql perl module hasn't been fully installed,or perhaps the capitalisaction of ..."时,
是因为没有安装perl-DBD-MySQL软件包,
直接使用:yum install perl-DBD-MySQL,根据提示安装好.再运行上面的语句,应该可以成功
做个定时备份的方法:
引用官网的介绍:
[1] 建立自动备份脚本
在这里,为了使数据库备份和恢复的符合我们的实际要求,用一段符合要求的Shell脚本来实现整个备份过程的自动化。
[root@sample ~]# vi mysql-backup.sh ← 建立数据库自动备份脚本,如下:
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# The Directory of Backup
BACKDIR=/backup/mysql
# The Password of MySQL
ROOTPASS=******** ← 将星号替换成MySQL的root密码
# Remake the Directory of Backup
rm -rf $BACKDIR
mkdir -p $BACKDIR
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
# Backup with Database
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
[2] 运行数据库自动备份脚本
[root@sample ~]# chmod 700 mysql-backup.sh ← 改变脚本属性,让其只能让root用户执行
[root@sample ~]# ./mysql-backup.sh ← 运行脚本
[root@sample ~]# ls -l /backup/mysql/ ← 确认一下是否备份成功
total 8
drwxr-x--- 2 mysql mysql 4096 Sep 1 16:54 mysql ← 已成功备份到/backup/mysql目录中
[3] 让数据库备份脚本每天自动运行
[root@sample ~]# crontab -e ← 编辑自动运行规则(然后会出现编辑窗口,操作同vi)
00 03 * * * /root/mysql-backup.sh ← 添加这一行到文件中,让数据库备份每天凌晨3点进行