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 选项进行更多日志记录的导入.
我在 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 选项进行更多日志记录的导入.