请教mysql定时备份的问题

请教mysql定时备份的问题

rq=` date +%Y%m%d `  
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql  
或者写成  
rq=` date +%Y%m%d `  
mysqldump phpwind -u root -p123456 > /mysqldata/mysql$rq.tar.gz  

用crontab实现定时备份,有的数据库正在使用中,说明tar备份有问题,因为tar之前没停止数据库。
Q1:备份一般都在夜里,不可能手动停止数据库,tar之前要停止数据库,tar之后又要启动数据库,哪个大侠能提供定时停止数据库,然后tar,tar后再自动启动数据库的脚本啊?
Q2:用mysqldump的时候是不是也要先停止数据库,我在网上查到说加–skip-opt 这个命令dump的时候就不会出错,是否正解?若不是正解,哪个大侠能提供定时停止数据库,然后dump,dump后再自动启动数据库的脚本啊?      
我用mysqldump出来大小是0。      
mysqldump -uuser -ppassword --database database > PATH/xxx.sql
这样不用停止数据库      
通常在编译安装mysql的时候,在安装目录下面会有个share/mysql目录,里面有个mysql.server的脚本
用mysql.server start|stop|restart
即可启动、停止、重启      
停掉mysql是没法dump出来的      
引用:
原帖由 yjsword 于 2008-7-23 15:47 发表
通常在编译安装mysql的时候,在安装目录下面会有个share/mysql目录,里面有个mysql.server的脚本
用mysql.server start|stop|restart
即可启动、停止、重启
/etc/init.d/mysql.server start/stop      
应该锁定

用mysqldump的时候是不是也要先停止数据库,我在网上查到说加–skip-opt 这个命令dump的时候就不会出错,是否正解?
这个正确      
引用:
原帖由 blackspace 于 2008-7-23 16:06 发表
应该锁定

用mysqldump的时候是不是也要先停止数据库,我在网上查到说加–skip-opt 这个命令dump的时候就不会出错,是否正解?
这个正确
rq=` date +%Y%m%d `  
mysqldump –skip-opt -u root -p123456 phpwind |gzip> /mysqldata/mysql$rq.sql.gz
是这样吗?      
为什么导出来的数据是0啊?      
命令错了吧