Bug #50564 Repair Table taking too long
| Submitted: | 23 Jan 2010 5:20 | Modified: | 25 Jan 2010 9:42 |
|---|---|---|---|
| Reporter: | VIPUL JAIN | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server: MyISAM storage engine | Severity: | S1 (Critical) |
| Version: | 5.0.22-Debian_0ubuntu6.06.3-log | OS: | Linux (Debian_0ubuntu6.06) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | myisam, repair table | ||
[23 Jan 2010 5:20]
VIPUL JAIN
[23 Jan 2010 5:22]
VIPUL JAIN
Repair Table taking too long
[23 Jan 2010 7:07]
Shane Bester
you can't kill a repair without corrupting the indexes. try this in my.cnf myisam_max_sort_file_size=900G to make it faster. what does processlist say, 'repair by sort' or 'repair with keycache' ? BTW, 5.0.22 is too old to use, and you should be using 5.0.89 or 5.1.42 these days.
[23 Jan 2010 8:02]
VIPUL JAIN
It says, repair by sort
[23 Jan 2010 8:37]
Valeriy Kravchuk
Please, send your entire my.cnf file content.
[23 Jan 2010 11:52]
VIPUL JAIN
# # The MySQL database server configuration file. # # You can copy this to one of: # - "/etc/mysql/my.cnf" to set global options, # - "/var/lib/mysql/my.cnf" to set server-specific options or # - "~/.my.cnf" to set user-specific options. # # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html # This will be passed to all mysql clients # It has been reported that passwords should be enclosed with ticks/quotes # escpecially if they contain "#" chars... # Remember to edit /etc/mysql/debian.cnf when changing the socket location. [client] port = 3306 socket = /var/run/mysqld/mysqld.sock # Here is entries for some specific programs # The following values assume you have at least 32M ram # This was formally known as [safe_mysqld]. Both versions are currently parsed. [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # 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 language = /usr/share/mysql/english skip-external-locking # # For compatibility to other Debian packages that still use # libmysqlclient10 and libmysqlclient12. old_passwords = 1 # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 16M max_allowed_packet = 16M thread_stack = 128K # # * Query Cache Configuration # query_cache_limit = 1048576 query_cache_size = 16777216 query_cache_type = 1 # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. #log = /var/log/mysql.log #log = /var/log/mysql/mysql.log # # Error logging goes to syslog. This is a Debian improvement :) # # Here you can see queries with especially long duration #log-slow-queries = /var/log/mysql/mysql-slow.log # # The following can be used as easy to replay backup logs or for replication. #server-id = 1 log-bin = /var/log/mysql/mysql-bin.log expire-logs-days = 20 max_binlog_size = 104857600 #binlog-do-db = include_database_name #binlog-ignore-db = include_database_name # # * BerkeleyDB # # According to an MySQL employee the use of BerkeleyDB is now discouraged # and support for it will probably cease in the next versions. skip-bdb # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # If you want to enable SSL support (recommended) read the manual or my # HOWTO in /usr/share/doc/mysql-server/SSL-MINI-HOWTO.txt.gz # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 16M # # * NDB Cluster # # See /usr/share/doc/mysql-server-*/README.Debian for more information. # # The following configuration is read by the ndbd storage daemons, # not from the ndb_mgmd management daemon. # # [MYSQL_CLUSTER] # ndb-connectstring=127.0.0.1
[23 Jan 2010 12:38]
Valeriy Kravchuk
Please, send the results of: free uname -a Linux commands. I think you just had not configured your server properly for the load...
[23 Jan 2010 13:01]
VIPUL JAIN
total used free shared buffers cached Mem: 524480 518524 5956 0 18652 410312 -/+ buffers/cache: 89560 434920 Swap: 430072 56 430016
[24 Jan 2010 11:00]
VIPUL JAIN
uname -a Linux ns.pediaindia.com 2.6.18-xenU-xp070501 #3 SMP Tue May 1 14:03:41 IST 2007 x86_64 GNU/Linux
[24 Jan 2010 20:58]
VIPUL JAIN
We finally discovered that the free disc space was too less. we got that increased and repair was done in less than 6 mnutes. I would be greatful if someone can help us in optimizing my.cnf file for handling the load properly. Thanks
[25 Jan 2010 9:42]
Valeriy Kravchuk
So, the problem was NOT a result of any bug in MySQL code.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.045 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.