我正在进行的项目经常使用数据库并且执行繁重的程序。
我一直在监控系统。16GB RAM 和 8 CPU 的系统通常运行良好,不会达到极限,但 MySQL 经常出现不同的错误:
以下是 MySQL 8 的配置
[mysqld]
sql_mode=""
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
log_bin_trust_function_creators = 1
join_buffer_size = 256M
innodb_buffer_pool_size = 16G
innodb_log_file_size=4G
innodb_buffer_pool_instances=12
expire_logs_days=3
long_query_time=5
innodb_lock_wait_timeout=100
我该如何预防?我做错了什么?
这是错误日志:https://gist.github.com/turalus/d581b46f349aa815ab49f486605c0061
答案1
'UserKeyword' 表已满!
检查磁盘空间。
未知变量“query_cache_size=0”。
该设置(和类似设置)已从 MySQL 8 中删除。您是否正在使用旧的 my.cnf?query_cache...
从配置中删除对的引用。
您是否已有另一个使用 Mysqlx 运行的 mysqld 服务器?'
也许有两个实例正在运行?
innodb_buffer_pool_size = 16G
如果 RAM 为 16GB 则不是。将设置更改为 10G。