mysql:不能通过编辑my.ini/my.cnf来增加innodb\u buffer\u pool\u大小

xtupzzrd  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(530)

我在运行查询时收到错误消息“error1206(hy000):锁的总数超过了锁表的大小”。经过几次搜索,我明白增加innodb\u buffer\u pool\u的大小可以解决这个问题。但是我在这方面有点困难。
我正在使用mysql workbench 6.3ce,发现了一个名为“..\mysql\mysql server 5.6\my default.ini”的文件。我找不到任何名为my.ini或my.cnf的文件。根据本网站其他问题答案的建议,我编辑了这个文件,以便

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

现在读到

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

innodb_buffer_pool_size = 1024M

但是,这似乎对最初的错误和运行时没有任何影响

SELECT variable_value FROM information_schema.global_variables
WHERE variable_name = 'innodb_buffer_pool_size';

返回的大小没有区别:263192576。
我尝试创建my-default.ini的副本并将其保存为my.ini,但这也没有帮助。
任何帮助都将不胜感激!

irtuqstp

irtuqstp1#

多亏了DragonThinks,我搜索了关于无锁提示的信息,发现了这个——有没有什么方法可以选择而不导致mysql中的锁定?
然后我使用以下代码

SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
Create X as Select * from Y where Z in ('2012','2013', '2014', '2015');
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;

这似乎奏效了。

相关问题