0
votes

I've read so many threads as well as the MySQL documentation about this issue and nothing suggested seems to work.

Here's my.cnf


    [client]
    port            = 3306
    socket          = /var/run/mysqld/mysqld.sock

    [mysqld_safe]
    socket          = /var/run/mysqld/mysqld.sock
    nice            = 0

    [mysqld]
    user            = mysql
    pid-file        = /var/run/mysqld/mysqld.pid
    socket          = /var/run/mysqld/mysqld.sock
    port            = 3306
    basedir         = /usr
    datadir         = /var/lib/mysql
    tmpdir          = /tmp
    lc-messages-dir = /usr/share/mysql

    skip-external-locking

    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_bin

    interactive_timeout     = 2880000
    wait_timeout            = 2880000
    net_write_timeout       = 6000
    net_read_timeout        = 6000
    delayed_insert_timeout  = 6000
    key_buffer              = 256M
    key-buffer-size         = 32M
    max_allowed_packet      = 600M
    thread_stack            = 256K
    thread_cache_size       = 8

    max-connections         = 500
    thread-cache-size       = 50
    open-files-limit        = 65535
    table-definition-cache  = 4096
    table-open-cache        = 10240
    query-cache-type        = 0
    query_cache_limit       = 2M
    query_cache_size        = 32M

    myisam-recover          = BACKUP

    innodb_buffer_pool_size         = 384M
    innodb_additional_mem_pool_size = 20M
    innodb_log_file_size            = 10M
    innodb_log_buffer_size          = 64M
    innodb_flush_log_at_trx_commit  = 1
    innodb_lock_wait_timeout        = 180

    log_error = /var/log/mysql/error.log
    expire_logs_days        = 10
    max_binlog_size         = 100M

    [mysqldump]
    quick
    quote-names
    max_allowed_packet      = 64M

    [isamchk]
    key_buffer              = 32M

In addition I ran queries in the MySQL CLI to make sure my settings were sticking, and they appear to be:


    mysql> select @@global.wait_timeout, @@session.wait_timeout;
    +-----------------------+------------------------+
    | @@global.wait_timeout | @@session.wait_timeout |
    +-----------------------+------------------------+
    |               2880000 |                2880000 |
    +-----------------------+------------------------+


    mysql> select @@global.max_allowed_packet, @@session.max_allowed_packet;
    +-----------------------------+------------------------------+
    | @@global.max_allowed_packet | @@session.max_allowed_packet |
    +-----------------------------+------------------------------+
    |                   629145600 |                    629145600 |
    +-----------------------------+------------------------------+

Server environment: Ubuntu Server 14.04LTS

MySQL version: 5.6

This is a dedicated MySQL server, it has no other apps on it.

I am not running out of memory:


    MemTotal:       32948824 kB
    MemFree:        31494136 kB
    Cached:           281624 kB
    SwapCached:            0 kB
    SwapTotal:      33550332 kB
    SwapFree:       33550332 kB

1
is the mysql server running on a localhost or remote host? If remote, the network connectivity may be intermittent.anupam.singhal
It is hosted internally on a company network. Our backup database is running on Windows Server 2012 and the script executing the queries that are timing out successfully execute from the same machine to the backup database server, so it is definitely not a network connectivity issue unless it is something within the Ubuntu configuration itself.benjivm

1 Answers

0
votes

I was finally able to fix this issue but bypassing the MySQL Workbench Migration Tool and using mysqldup to generate the database .sql file used to restore to the server. Here's what I did:

  1. Deleted all databases from the MySQL server that was timing out
  2. Exported all the data from our backup database via mysqldump
  3. Restored that dump file to the new MySQL server (the one that was timing out)
  4. Ran mysql_upgrade, all tables OK Executed the query: everything now works

Here's the strange thing: mysqlcheck and mysql_upgrade, when run on the database that was somehow timing out, were returning status OK and not finding any errors. I do not know why, but I see this is a pretty strange and annoying problem, considering that's exactly what mysqlcheck is for.

Anyway if you're having this problem try to restore the database from an older backup (if you have one) and see if that works.