1

当我尝试通过导入 sql 为项目创建各种表时,MySQL 返回此错误:

#1005 - Can't create table 'mybase.mytable' (errno: 147) 

在 Google 中查找 147,我发现:

MySQL错误代码147:锁表已满;使用更大的锁表重新启动程序

但是,我不知道该怎么做。我应该修改什么,修改什么?(有很多锁变量)。

这是我所有“锁定”变量的结果:

innodb_autoinc_lock_mode          1
innodb_lock_wait_timeout          50
innodb_locks_unsafe_for_binlog    OFF
innodb_table_locks                ON
key_cache_block_size              1024
locked_in_memory                  OFF
max_write_lock_count              18446744073709551615
query_alloc_block_size            8192
query_cache_wlock_invalidate      OFF
range_alloc_block_size            4096
skip_external_locking             ON
table_lock_wait_timeout           50
transaction_alloc_block_size      8192
4

1 回答 1

0

我终于找到了如何做到这一点,我innodb_table_locks在创建表格之前将其关闭,然后重新启用它。

SET innodb_table_locks = 0;

// Create tables

SET innodb_table_locks = 1;
于 2012-12-20T15:29:48.733 回答