MariaDB 中的视图定义不是使用 mysqldump 创建的

View definitions in MariaDB are not create with mysqldump

我在 MariaDB 10.1.25 中有一个数据库,在这个数据库中,我有很多表和 20 个视图。 当我尝试使用 mysqldump 备份我的数据库时,它对表工作正常,但在视图定义中,它无法像对表那样创建创建语句。 生成的代码是这样的:

--
-- Temporary table structure for view `qry_clientes`
--

DROP TABLE IF EXISTS `qry_clientes`;
/*!50001 DROP VIEW IF EXISTS `qry_clientes`*/;
SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
/*!50001 CREATE TABLE `qry_clientes` (
  `Id` tinyint NOT NULL,
  `Cliente` tinyint NOT NULL,
  `Direccion` tinyint NOT NULL,
  `Ciudad` tinyint NOT NULL,
  `Fono` tinyint NOT NULL,
  `Fax` tinyint NOT NULL,
  `Email` tinyint NOT NULL,
  `Ruc` tinyint NOT NULL,
  `tipo` tinyint NOT NULL
) ENGINE=MyISAM */;
SET character_set_client = @saved_cs_client;

这里没有视图定义。我有所有特权

通常,在 mysqldump 备份脚本中,视图首先创建为表,然后在创建每个视图时将其放在脚本底部。

有时在这个过程中会出现错误,因为在创建视图时有一个用户用作 DEFINER。该语句可能会失败,因为该用户可能不存在于数据库中。

请验证视图 drop/create 脚本在末尾存在,写下您收到的错误(如果收到)和 运行 使用 -v 选项进行更多日志记录的导入.