Abaixo está o arquivo my.ini de um dos meus PC rodando MySQL 5.5 com 1 GB de RAM. Não está usando conexões simultâneas e estamos usando um PC autônomo para um único aplicativo e um único usuário.
# MySQL Server Instance Configuration File
# ----------------------------------------------------------------------
# CLIENT SECTION
[client]
port=3306
[mysql]
default-character-set=latin1
# SERVER SECTION
[mysqld]
log-bin=E:/CRITICAL_MYSQL_LOGGING/AUTOMATED_BINARY_LOGS/MySqlBinLog
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"
#Path to the database root
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
character-set-server=latin1
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# The maximum amount of concurrent sessions the MySQL server will
# allow.
max_connections=02
# Query cache is used to cache SELECT results and later return them
# without actual executing the same query once again.
query_cache_size=15M
# The number of open tables for all threads.
table_cache=256
# Maximum size for internal (in-memory) temporary tables.
tmp_table_size=9M
# How many threads we should keep in a cache for reuse. When a client
# disconnects
thread_cache_size=8
#*** INNODB Specific options ***
innodb_additional_mem_pool_size=20M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=500M
innodb_log_file_size=10M
innodb_thread_concurrency=8
log-queries-not-using-indexes
log-warnings
log=E:/CRITICAL_MYSQL_LOGGING/QUERY_LOGS/QueryLog
log-error=E:/CRITICAL_MYSQL_LOGGING/ERROR_LOGS/ErrorLog
log-slow-queries=E:/CRITICAL_MYSQL_LOGGING/SLOW_QUERY_LOGS/SlowQueryLog
log-bin-index=E:/CRITICAL_MYSQL_LOGGING/BinLogIndexFile
long_query_time=2
Eu atualizei o arquivo my.ini original. Sugira valores melhores para um PC de usuário único de 1 GB.
Eu também quero saber como liberar logs e quando.
Você precisa de mais RAM. O Windows mal consegue sobreviver com um Gig de RAM. Eu colocaria pelo menos 4 Gigs na máquina.
MrDenny está certo sobre sua RAM. O Windows por si só consome uma boa parte da sua RAM sem que mais nada aconteça. E, em seguida, enviar metade da RAM total para o buffer pool do innodb causará problemas de desempenho imediatamente.
Além disso, farei uma advertência com sua configuração de 'tmp_table_size'. Do manual
Se você quiser aumentar tmp_table_size acima de 16M (o padrão de max_heap_table_size), precisará aumentar essa variável também.
Quanto ao Flushing dos logs binários, você pode fazer isso emitindo o comando:
Você pode agendá-lo no Agendador de eventos integrado.
Primeiro crie um procedimento armazenado para fazer a descarga dos logs binários:
Agora chame sp_FlushBinaryLogs em um evento que dispara a cada hora (ou você pode configurá-lo para qualquer horário que desejar ):
Não se esqueça de ativar o agendador de eventos. Você pode fazer duas coisas
Sem reiniciar o mysql, você pode ativar o agendador de eventos com