gpt4 book ai didi

unix - mysqldump 丢失表数据

转载 作者:行者123 更新时间:2023-11-29 21:49:34 28 4
gpt4 key购买 nike

我想对我的数据库进行完整转储。所以我用了...

mysqldump -h <host> -u <user> -p<password> -q --single-transaction --triggers --routines --compress <database> > dump.sql

...将我的数据转储到文件中(4.271.663.366 字节> 3,97GB)。我找到了表的创建语句,但没有插入数据。如果我将表单独转储到一个文件中,则一切正常。

这里有一些信息:

数据库信息:

  • table 数:215
  • 记录:32105706
  • 类型:InnoDB(一些 MyIsam)
  • 大小:6.5 GiB

有问题的表:

  • 记录:31178
  • 类型:InnoDB
  • 大小:12.5 MiB

创建此表的语句(仅使用 phpmyadmin 导出 -> 结构创建):

CREATE TABLE IF NOT EXISTS `<table-name>` (
`<field>` mediumint(11) unsigned NOT NULL AUTO_INCREMENT,
`<field>` varchar(64) NOT NULL,
`<field>` varchar(64) NOT NULL,
`<field>` varchar(2) NOT NULL,
`<field>` varchar(8) NOT NULL,
`<field>` varchar(8) NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` int(2) unsigned NOT NULL,
`<field>` varchar(50) NOT NULL,
`<field>` tinyint(4) NOT NULL DEFAULT '0',
`<field>` varchar(35) NOT NULL,
`<field>` datetime DEFAULT NULL,
`<field>` varchar(70) DEFAULT NULL,
`<field>` datetime DEFAULT NULL,
`<field>` varchar(70) DEFAULT NULL,
`<field>` datetime DEFAULT NULL COMMENT '<comment>',
`<field>` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`<field>`),
UNIQUE KEY `<field>` (`<field>`),
KEY `<field>` (`<field>`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10500127 ;

--
-- Trigger `<field>`
--
DROP TRIGGER IF EXISTS `<table-trigger>`;
DELIMITER //
CREATE TRIGGER `<table-trigger>` BEFORE DELETE ON `<table-name>`
FOR EACH ROW BEGIN
SET @DISABLE_TRIGER_other_trigger=1;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
DELETE FROM <other-table> WHERE <field> = OLD.<field>;
SET @DISABLE_TRIGER_other_trigger=NULL;
END
//
DELIMITER ;

MySQL 转储:mysqldump --版本

mysqldump Ver 10.13 Distrib 5.5.46, for debian-linux-gnu (x86_64)

有人有想法吗?

最佳答案

mysqldump -u <USER> -p <db_name> > mysqldump.sql

并使用导入

mysql -u <USER> -p <db_name> < mysqldump.sql

对我有用。希望对您有所帮助。

关于unix - mysqldump 丢失表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33780742/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com