我想使用通配符导出以特定前缀开头的表列表。
理想情况下我会这样做:
mysqldump -uroot -p mydb table_prefix_* > backup.sql
显然这行不通。但这样做的正确方法是什么?
最佳答案
如果它有前缀,像这样用GRANT使一个用户对表有select和lock权限
GRANT SELECT, LOCK TABLES ON `table\_prefix\_%` . * TO 'backup-user'@'localhost';
然后不要以 root 身份运行 mysql dump,而是以备份用户身份运行它,并使用选项 --all-databases
因为备份用户只有这些表的选择和锁定权限,所以它们是唯一会在那里的。
使用这样的用户比使用 root 帐户更安全
关于mysql 使用通配符导出表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17202152/