mysql 使用通配符导出表

标签 mysql

我想使用通配符导出以特定前缀开头的表列表。

理想情况下我会这样做:

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/

相关文章:

mysql - 获取每组最新的n条记录

php - 下拉选择字段是否容易受到任何类型的注入(inject)

mysql - 如何轻松选择MySQL中的临时表?

python - 从数据库中读取内容 WHERE 'id' =

php - mysql如果计数为空则将其设为零

php - mysql_real_escape_string() 是否足以用于 MySQL REGEXP?

jquery - 我们可以将 mysql 与 node.js 一起使用吗

mysql - 查询给出 #1305 - FUNCTION 数据库名称。LEN 不存在;为什么?

php - 按下按钮并使用包含注释的文本区域更新 mysql 数据库中的注释

mysql - 在同一个表中选择