我想使用 lvm 备份我的 mysql 数据库。我将使用 cronjob 进行备份。以下是伪代码
- 打开 mysql 会话
- 运行 SQL
FLUSH TABLES WITH READ LOCK
- 进行备份
lvcreate -l100%FREE -s -n mysql-backup /dev/vg00/lv_var
- 运行 SQL
UNLOCK TABLES
- 完毕
在步骤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 运行正常。
我怎样才能做到这一点?