使用 LVM 备份 MySQL,有关 MySQL Session 的问题

使用 LVM 备份 MySQL,有关 MySQL Session 的问题

我想使用 lvm 备份我的 mysql 数据库。我将使用 cronjob 进行备份。以下是伪代码

  1. 打开 mysql 会话
  2. 运行 SQLFLUSH TABLES WITH READ LOCK
  3. 进行备份lvcreate -l100%FREE -s -n mysql-backup /dev/vg00/lv_var
  4. 运行 SQLUNLOCK TABLES
  5. 完毕

在步骤2至步骤4之间,mysql 会话必须保持打开状态

所以现在我已经在脚本中解决了这个问题:

mysql -u root -prootpwd -e "FLUSH TABLES WITH READ LOCK";
lvcreate -l100%FREE -s -n mysql-backup /dev/vg00/lv_var
mysql -u root -prootpwd -e "UNLOCK TABLES";

如何在我的脚本中保持 mysql 会话打开?

正常情况下,我应该打开 mysql 会话来运行FLUSH TABLES WITH READ LOCK,但不要终止此 mysql 会话。我应该在另一个 shell 中执行该lvcreate命令,之后我必须在第一个 shell 中解锁表。

另一部分与第二个 mysql 实例和 mysqldump 运行正常。

我怎样才能做到这一点?

相关内容