迁移MySQL用户到另一台服务器

9
我创建了一个 mysqldump --all-databases 并将所有数据库转移到新服务器。但由于 debian-sys-maint 用户的密码不匹配,它并没有起作用。所以我更改了这个用户的密码。之后我重启了服务器并得到了这个错误。

ERROR 1577 (HY000) at line 1: Cannot proceed because system tables used by Event Scheduler were found damaged at server start ERROR 1547 (HY000) at line 1: Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted

我不知道还会出现多少错误。所以我想只创建与我的应用程序相关的数据库的转储 (mysqldump --databases)。
现在如何迁移用户?有没有标准的方法?

更多信息:

New Server version: 5.1.63-0+squeeze1 (Debian)
Old Server version: 5.0.51a-24+lenny5 (Debian)
1个回答

10

由于您的 MySql 版本不同,您可能需要运行 mysql_upgrade

然而,一般情况下,请勿将 mysql 系统架构从一个服务器复制到另一个服务器。因此,据我所知,没有“标准”方法可以将用户和用户权限从一个服务器复制到另一个服务器。

如果您真的想 / 需要这样做,请尝试以下操作:

$> mysql --silent --skip-column-names -e"show grants for user@host"

上述输出了GRANT语句,您可以直接将其提供给目标服务器以创建用户并授予相同的权限。

但是,如果您的目标服务器是空的,您可以将整个数据文件夹从旧服务器移动到新服务器,然后在新服务器上运行标准的从5.0升级到5.1的过程


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接