在数据库备份和导出中,我得到如下信息:

/*!50001 DROP TABLE `vTime`*/;
/*!50001 DROP VIEW IF EXISTS `vTime`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`db_user`@`%` SQL SECURITY DEFINER */
/*!50001 VIEW `vTime` AS select ... */;
  • 由于尝试还原时“CREATE ALGORITHM”和“DEFINER”部分失败,因此还原时会引起问题。有没有一种方法可以使mysqldump只做一个简单的CREATE VIEW
  • 奖励问题:/*!50001部分是什么意思?

  • 编辑:我应该补充一点,这是我得到的错误:
    #1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
    编辑2:似乎只有/*!50013 DEFINER=部分失败了。

    最佳答案

    /*!50001部分是版本号。

    这个问题已经在这里回答:MySQL flags in dumps

    删除DEFINER的主要问题最好是使用脚本来完成。一些已经在线的示例:

    https://dbperf.wordpress.com/2010/04/12/removing-definer-from-mysql-dump/

    Remove DEFINER clause from MySQL Dumps

    关于没有 "CREATE ALGORITHM"和 "DEFINER"的mysqldump,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25924796/

    10-11 00:12