Jac*_*ack 5 mysql mysqldump database-backups periodic-task
我有一个使用mysql作为后端的java应用程序,每天晚上我们使用mysqldump备份mysql并且应用程序在该时间段内停止工作(应用程序20分钟).
用于进行备份的命令.
$MYSQLDUMP -h $HOST --user=$USER --password=$PASS $database > \
$BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql
gzip -f -9 $BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql
Run Code Online (Sandbox Code Playgroud)
这是正常的还是我做错了导致数据库在此期间失速?
谢谢,K
mysqldump必须获得表上的读锁并在备份期间保持它,以确保备份的一致性。但是,如果在两者之间发生写入(即read -> write -> read),则读锁可能会阻止后续读取:第一个读锁会阻塞写锁,而写锁会阻塞第二个读锁。
这部分取决于您的表类型。如果您使用MyISAM,锁会应用于整个表,因此整个表将被锁定。我相信InnoDB中的锁的工作方式不同,并且这不会锁定整个表。