Mysql 返回错误“内存不足”执行简单查询时-
SELECT * from users WHERE login LIKE "%son";
表有大约 500mil 行和 2 列
总服务器RAM 64G从我读到的,主要是因为其他应用程序使用 ram,bu 这里不是这样,40G~ram 是专用于 mysql
这里是 my.ini 配置(我试着摆弄它,但我想我只是让它变得更糟)-谢谢。
[mysqld]
port=3306
datadir=C:/ProgramData/MySQL2/MySQL Server 5.7\Data
character-set-server=utf8
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-output=FILE
general-log=0
general_log_file="DESKTOP-0E18H6E.log"
slow-query-log=1
slow_query_log_file="DESKTOP-0E18H6E-slow.log"
long_query_time=10
log-error="DESKTOP-0E18H6E.err"
server-id=1
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"
max_connections=300
query_cache_size=1000000
table_open_cache=2000
tmp_table_size=429M
thread_cache_size=10
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=844M
key_buffer_size=8M
read_buffer_size=64K
read_rnd_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_l_size=8G
innodb_log_file_size=48M
innodb_thread_concurrency=8
innodb_autoextend_increment=64
innodb_buffer_l_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=32M
max_connect_errors=100
open_files_limit=4161
query_cache_type=0
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync__info=10000
sync_relay_log=10000
sync_relay_log_info=10000
plugin_load="mysqlx"
loose_mysqlx_port=33060
您的服务器有 64G(用于超过 MySQL 的目的),所以要求
myisam_max_sort_file_size=100G
可能会导致 OOM。
如果没有 RAM,则无法启用更多 RAM。
尝试 6G(约为可用 RAM 的 10 %)和显示器。
Add to yourmy.cnf
ormy.ini
max_heap_table_size=429M # suld always be same as tmp_table_size
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(10条)