当我尝试通过导入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
最佳答案
我终于找到了解决方法,在创建表之前将innodb_table_locks
关闭,然后重新启用它。
SET innodb_table_locks = 0;
// Create tables
SET innodb_table_locks = 1;