用命令实现备份 MySQLl提供了一个mysqldump命令,咱们能够用它进行数据备份。 按提示输入密码,这就把tm数据库全部的表结构和# mysqldump -u root -p tm > tm_050519.sql数据备份到tm_050519.sql了,由于要总进行备份工做,若是数据量大会占用很大空间,这时能够利用gzip压缩数据,命令以下: # mysqldump -u root -p tm | gzip > tm_050519.sql.gz 系统崩溃,重建系统时,能够这样恢复数据: # mysqldump -u root -p tm < tm_050519.sql 从压缩文件直接恢复: #gzip < tm_050519.sql.gz | mysqldump -u root -p tm 固然,有不少MySQL工具提供更直观的备份恢复功能,好比用phpMyAdmin就很方便。但我认为,mysqldump是最基本、最通用的。 2、利用crontab,系统天天定时备份mysql数据库 利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。 一、建立保存备份文件的路径/var/backup/mysqlbak # mkdir -p /var/backup/mysqlbak 二、建立/usr/sbin/bakmysql文件 #vi /usr/sbin/bakmysql.sh #!/bin/bash # mysql备份脚本 cd /var/backup/mysqlbak/ dateDIR=`date +"%y-%m-%d"` mkdir -p $dateDIR/data for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases" | grep -v "Database" | grep -v "information_schema"` do /usr/local/www/mysql/bin/mysqldump -uroot -plin31415926 $i | gzip > /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz done 三、修改文件属性,使其可执行 # chmod +x /usr/sbin/bakmysql 四、修改/etc/crontab # crontab -e 在下面添加 01 3 * * * root /usr/sbin/bakmysql #表示天天3点钟执行备份 这样天天就能够在/var/backup/mysqlbak下看到备份的sql文件 了!