我在一家软件公司工作,并用作数据库Mysql 5.6
问题:最近几天MYSQL丢失了数天,比如所有表中的数据大回滚,检查MYSQL错误日志,只显示以下消息:“数据库未正常关闭“和”[注意] InnoDB:ibdata文件中的日志序列号1181074230和1181074230与ib_logfiles中的日志序列号1181075227不匹配。
这些消息可能与几天前的数据返回问题有关?可能是my.ini中的某些设置不记录事务数据?我在MySQL 5.1中从未遇到过这个问题,它可能是一个Mysql 5.6漏洞吗?
my.ini :
[mysql]
default-character-set = latin1
[mysqld]
sql_mode="STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
collation-server = latin1_swedish_ci
character-set-server = latin1
## Caso queira alterar a porta do mysql edite abaixo
port = 3306
## Diretório de data do Mysql edite-o conforme o sistema em que está sendo instalado
datadir = C:\Program Files\MySQL\MySQL Server 5.6/data/
## Diretório base do Mysql edite-o conforme o sistema em que está sendo instalado
basedir = C:\Program Files\MySQL\MySQL Server 5.6
## Diretório que serão armazenados os ib_logfiles edite-o conforme o sistema em que está sendo instalado
innodb_log_group_home_dir = C:\Program Files\MySQL\MySQL Server 5.6\data/
## Local de armazenamento do tablespace, onde será criado o ibdata1 (antigo innodbdata). Edite-o conforme o sistema em que está sendo instalado
innodb_data_home_dir = C:\Program Files\MySQL\MySQL Server 5.6/data/
# Linguagem alterada para Pt-br
lc_messages=pt_BR
lc_time_names=pt_BR
# Ignora procura por DNS
skip-name-resolve
#Ignora cache em host, evitando que terminais fiquem bloqueados
skip-host-cache
# Habilita agendador Mysql
event-scheduler=1
# Analise do banco http://dev.mysql.com/doc/refman/5.5/en/performance-schema.html
performance_schema
# Tamanho máximo da inserção em uma coluna
max_allowed_packet = 32M
# Número Máximo de conexões
max_connections = 150
# Valor Padrão 1 devido a ACID
innodb_flush_log_at_trx_commit=1
# Descomentar linha abaixo caso o mysql não esteja carregando tabelas que foram marcadas como corrompidas
# innodb_force_load_corrupted
# Linha que define force para iniciar banco de dados, usado somente
# quando o banco de dados esta com problemas. Pode ser usado de 1 a 6
# no lugar do X. Comece usando o 4 que e um dos melhores
#innodb_force_recovery=X
# Alocação de memória para grandes joins, só é plausivel quando os joins não tem index
join_buffer_size = 94M
# Buffer para grandes consultas que contenham order BY, agilizando o processo, por Default é 256k
read_rnd_buffer_size = 2M
# Buffer para grandes consultas que contenham order BY, agilizando o processo, por Default é 2M
sort_buffer_size = 4M
# Método de Escrita de dados e escrita de logs. Tenta O_DIRECT - Forma padrão fdatasync
# innodb_flush_method=O_DSYNC
# Pré-alocação de Memória para grandes querys
query_prealloc_size = 16M
# Habilitar cache para todos os SELECTS menos para os que informam SQL_NO_CACHE
query_cache_type=1
# Tamanho do maximo de cache para querys SELECT
query_cache_size = 80M
# Tamanho maximo de cache para querys individuais
query_cache_limit = 48M
# Usando um arquivo por tabela
innodb_file_per_table = 1
# Maximo de tabela abertas pelo Mysql
innodb_open_files = 1000
# Maximo de arquivos abertos pelo mysql
open_files_limit = 4096
# Salva no log de erros os deadlocks ocorridos
innodb_print_all_deadlocks
## Memória destinada ao cache de dados e index. Quanto maior for este parametro, menos recursos de I/O serão utilizados do HD.
## Utilizar 50 % da memória fisica do servidor, edite-o conforme o servidor em questão
innodb_buffer_pool_size = 1024M
## ib_logfile(0/1): São as alterações que estão feitas nas transações innodb
## Utilizar 25% do informado do innodb_buffer_pool_size, edite-o conforme o servidor em questão
innodb_log_file_size = 200M
# Tamanho do cache que o innodb vai armazenar para gravação dos ib_logfiles.
innodb_log_buffer_size = 8M
# Tempo que o banco irá esperar até informar o timeout
innodb_lock_wait_timeout=180
## Concorrência entre Threads(cpu). É recomendado 2x o número de núclos do processador. Por padrão é 10. Edite-o conforme o servidor em questão
innodb_thread_concurrency=4
## Número de Threads(cpu) que poderão ser utilizadas para leitura. Utilizar 4x o número de núcleos do processador. Edite-o conforme o servidor em questão
innodb_read_io_threads=8
## Número de Threads(cpu) que poderão ser utilizadas para escrita. Utilizar 4x o número de núcleos do processador. Edite-o conforme o servidor em questão
innodb_write_io_threads=8
# Número de reutilização de threads, o recomendado é 5% do max_connections
thread_cache_size=7
## Capacidade IO do HD, por padrão é 200. Se SATA = 100. Se SAS = 200. Se RAID 5, 10 = 500. Edite-o conforme o servidor em questão, caso não tenha certeza qual HD está em uso deixe-o como está
innodb_io_capacity=200
# Tamanho da tabela temporária em disco
tmp_table_size = 128M
# Máximo que uma tabela temporária pode crescer
max_heap_table_size = 256M
[mysqldump]
quick
max_allowed_packet = 32M
感谢任何帮助