在文件源导入期间锁定MySQL数据库

时间:2018-10-05 11:43:10

标签: mysql locking

我尝试使用mysql的source命令将数据库导入系统。

mysql> source ~/table.sql

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

...

Query OK, 2550 rows affected (0.08 sec)
Records: 2550  Duplicates: 0  Warnings: 0
...

Query OK, 2576 rows affected (0.06 sec)
Records: 2576  Duplicates: 0  Warnings: 0

一段时间(约6秒)后,我退出了客户端。现在,我无法重新打开与表的连接。 sql文件的内容为:

DROP TABLE IF EXISTS `table_name`;

CREATE TABLE `table_name` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `created_at_in_millis` bigint(20) DEFAULT NULL,
  `code` varchar(40) DEFAULT NULL,
  `status` varchar(40) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_index` (`created_at_in_millis`,`code`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=8645259 DEFAULT CHARSET=utf8;

insert into ...

大约有600万个条目。因此,尽管正在导入,但无法连接到数据库。我的问题是,为什么这里有数据库级别的锁而不是表级别的锁?如何跟踪此导入进度?

0 个答案:

没有答案