我需要在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 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top