gpt4 book ai didi

mysql: 未知变量 'innodb_lock_wait_timeout=500'

转载 作者:行者123 更新时间:2023-11-29 03:25:52 24 4
gpt4 key购买 nike

我有一个查询,需要时间来执行,因为我正在导入 geonames 表

LOAD DATA LOCAL INFILE 'allCountries.txt'
INTO TABLE geoname
CHARACTER SET 'UTF8'
(geonameid, name, asciiname, alternatenames, latitude, longitude, fclass, fcode, country, cc2, admin1, admin2, admin3, admin4, population, elevation, gtopo30, timezone, moddate);

但是,如果我执行查询,我总是得到

Lock wait timeout exceeded; try restarting transaction
vagrant@homestead:~/work/homestead/project/bin$

所以我尝试增加锁定超时时间。文档在此处说明:http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout CLI 参数是 --innodb_lock_wait_timeout=# ,但是当我在查询中设置它时

mysql -ugeonames -psecret --local-infile=1 --innodb_lock_wait_timeout=500 geonames < geonames_import_data.sql

我遇到了错误

mysql: unknown variable 'innodb_lock_wait_timeout=500'

但是我的MySQL版本mysql Ver 14.14 Distrib 5.6.19, for debian-linux-gnu (x86_64) using EditLine wrapper应该支持这个设置吧?

当我像 SET GLOBAL innodb_lock_wait_timeout = 500; 这样全局设置它时然后用 show variables like '%lock_wait%'; 读取值我得到了正确的值

+--------------------------+----------+
| Variable_name | Value |
+--------------------------+----------+
| innodb_lock_wait_timeout | 500 |
| lock_wait_timeout | 31536000 |
+--------------------------+----------+

我如何在命令行上使用它?

我的版本:

select @@version // 5.6.19-0ubuntu0.14.04.1
mysql --version // mysql Ver 14.14 Distrib 5.6.19, for debian-linux-gnu (x86_64) using EditLine wrapper

最佳答案

你可能有一个旧版本的 mysql 或者至少 cli 是旧的,可​​能来自 v5.0 系列。如果您查看自己链接的文档,那么您可以在 innodb_lock_wait_timeout description 看到以下内容:

Name :innodb_lock_wait_timeout

Variable Scope: Global

Dynamic Variable: No

动态变量 no 表示该变量不能动态设置,只能在 my.ini 中设置,并且只有在服务器重新启动时该值才会更改。如果您尝试动态更改变量,您将收到您描述的错误消息。

关于mysql: 未知变量 'innodb_lock_wait_timeout=500',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36397607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com