题
我需要在Linux服务器复制MySQL数据库在Windows服务器。我已经使用mysqldump尝试,但它似乎不包括存储的特效。我要复制的一切,即模式,数据,存储的特效,触发器等等。
谢谢, 唐
解决方案
您想要的“ --routines “的选项的mysqldump 。
这对于--routines标志的文档:
转储存储程序(程序和 从倾倒数据库函数)。 此选项的使用需要的SELECT 特权的mysql.proc的表。 通过使用所生成的输出 --routines包含CREATE PROCEDURE和CREATE FUNCTION语句 重新创建例程。然而,这些 语句不包括属性 如常规的创建和 修改时间戳。这意味着 当程序被重新加载, 他们将与创建 时间戳等于重载时间。
如果您需要程序是 与原来的再创造 时间戳属性,不使用 --routines。相反,倾倒和重载mysql.proc的表的内容 直接,使用的是MySQL帐户 具有相应权限 MySQL数据库。
这个选项在MySQL 5.1.2加入。 在此之前,存储程序不 倾倒。常规DEFINER值不 直到倾倒的MySQL 5.1.8。这意味着 即5.1.8,当程序是前 重新加载,他们将与创建 定义者设置为重载用户。 如果您需要程序是 与原来的再创造 定义者,转储和加载的内容 所述mysql.proc的表直接作为 如前所述。
其他提示
mysqldump -u root -p --routines --databases io \
| sed -e "s/;;/\$\$/g" \
> io.sql
请尝试转储。和导入命令:
mysql -u root -p --fource --databases io < io.sql
不隶属于 StackOverflow