导入所有MySQL数据库

时间:2009-05-04 21:41:58

标签: mysql

我每晚mysqldump --all-databases作为备份。但是在将这个转储导入干净的安装时,我显然遇到了几个问题。

  1. 我显然不能(也不想)覆盖新的information_schema。
  2. 除非我覆盖mysql数据库。
  3. ,否则我的所有用户和权限设置都将丢失

    在这种情况下,标准做法是什么?在上传之前从.sql文件解析出information_schema?我是否会覆盖mysql数据库?

2 个答案:

答案 0 :(得分:2)

您不会遇到信息架构的问题

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html mysqldump不会转储INFORMATION_SCHEMA数据库。如果在命令行中显式命名该数据库,mysqldump将默认忽略它。

答案 1 :(得分:0)

要排除数据库,请尝试使用此bash脚本。

 for DB in $(echo "show databases" | mysql -u <username> -p'<password>' | grep -v Database  grep -v <some_db_to_exclude>)
do
    mysqldump -u <username> -p'<password>' ${DB}
done