我有在Linux上为我们的MariaDB数据库执行备份(lvm快照)所需的所有代码。这些是我在终端中的命令:
mysql
flush tables read lock; (in database)
exit
lvc create -l100%free -s -n mdbsnap /dev/vgm/lv
mysql
unlock tables; (in database)
exit而且它是有效的。
但是现在,我正在尝试使用Linux来自动化进程:
#!/bin/bash
mysql -e "flush tables with read lock"
lvc create -l100%free -s -n mdbsnap /dev/vgm/lv
mysql -e "unlock tables"而且它不起作用(锁不起作用,数据库也不锁着)。我认为这是因为我应该打开mysql连接,以迫使我们的数据库在快照期间保持锁定。有人知道吗?
发布于 2022-01-27 15:23:18
在另一个stackexchange问题的帮助下,我找到了答案:
#!/bin/bash
echo
{
echo "
flush tables with read lock;
system lvccreate -l100%free -s -n mdbsnap /dev/vgm/lv;
"
} | mysql --unbuffered https://dba.stackexchange.com/questions/306681
复制相似问题