首先进入安装mysql的目录
备份:./mysqldump –u root –proot(不要有空格) dbname > /home/aa.sql
恢复:mysql –u root –proot dbname < /home/aa.sql
整理了一些实例
1. 备份
代码如下 | 复制代码 |
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) |
2. 还原
法一:
代码如下 | 复制代码 |
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。 |
法二:
代码如下 | 复制代码 |
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) mysqldump: Got error: 1016 when using LOCK TABLES |
hitidea是一个有很多数据表的数据库(Wordpress MU),搜索了一下,发现只要在mysqldump的时候加上
对于高手肯定不会使用上面的办法,因为服务器数据可经常备份的,于是我又google找到一段代码
例:说明:
我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份。
实现步骤:
1、创建保存备份文件的目录:/home/mysql_data
cd /home #进入目录
mkdir mysql_data #创建目录
2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh
cd /home/mysql_data #进入目录
touch mysql_databak.sh #创建文件
nano mysql_databak.sh #编辑文件,输入以下内容
代码如下 | 复制代码 |
|
(注意:{} ;中间有空格)
#######################################################################################################
ctrl+o #保存配置
ctrl+x #退出
3、修改文件属性,使其可执行
chmod +x /home/mysql_data/mysql_databak.sh
4、修改/etc/crontab
nano /etc/crontab #编辑文件,在下面添加
45 22 * * * root /home/mysql_data/mysql_databak.sh #表示每天22点45分执行备份
ctrl+o #保存配置
ctrl+x #退出
5、重新启动crond使设置生效
service cron stop #停止
service cron start #启动
/etc/init.d/cron restart #重启
chkconfig cron on #设为开机启动
每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_04_11.tar.gz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压:tar -zxvf mysqldata_bak_2012_04_11.tar.gz
然后导入到数据库中即可。
至此,Ubuntu Server下MySql数据库备份脚本完成。