我尝试使用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万个条目。因此,尽管正在导入,但无法连接到数据库。我的问题是,为什么这里有数据库级别的锁而不是表级别的锁?如何跟踪此导入进度?