systemadmin.es > DBA > pt-variable-advisor: Revisión de las variables de MySQL automatizada

pt-variable-advisor: Revisión de las variables de MySQL automatizada

Al instalar una base de datos deberemos tener en consideración las variables de MySQL de acuerdo con el sistema en concreto y los datos. En el Percona Toolkit podemos encontrar la herramienta pt-variable-advisor que nos puede ayudar a ajustar las variables.

Si únicamente queremos usar dicha herramienta la podemos descargar mediante:

wget percona.com/get/pt-variable-advisor

Para usarla deberemos indicar el host y los datos de acceso:

# perl pt-variable-advisor localhost -p $(cat /var/mysql/.mysql.root.pass)
# WARN delay_key_write: MyISAM index blocks are never flushed until necessary.

# WARN innodb_log_file_size: The InnoDB log file size is set to its default value, which is not usable on production systems.

# NOTE log_warnings-2: Log_warnings must be set greater than 1 to log unusual events such as aborted connections.

# NOTE max_binlog_size: The max_binlog_size is smaller than the default of 1GB.

# NOTE max_connect_errors: max_connect_errors should probably be set as large as your platform allows.

# NOTE read_buffer_size-1: The read_buffer_size variable should generally be left at its default unless an expert determines it is necessary to change it.

# NOTE read_rnd_buffer_size-1: The read_rnd_buffer_size variable should generally be left at its default unless an expert determines it is necessary to change it.

# WARN slave_net_timeout: This variable is set too high.

# NOTE sort_buffer_size-1: The sort_buffer_size variable should generally be left at its default unless an expert determines it is necessary to change it.

# NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later.

# WARN myisam_recover_options: myisam_recover_options should be set to some value such as BACKUP,FORCE to ensure that table corruption is noticed.

También podemos guardar la salida de SHOW VARIABLES:

# echo show variables | mysql > show.variables.txt

Y en otro equipo usar la herramienta mediante la opción –source-of-variables:

# perl pt-variable-advisor --source-of-variables  show.variables.txt 
(...)

Dicha herramienta puede complementar a mysqltunner. Como toda herramienta, deberemos tomarnos lo que nos indica como algo a tener en cuenta, por ejemplo en el caso anterior vemos:

# NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later.

Dicha variable contiene:

innodb_data_file_path	ibdata1:10M:autoextend

Esto es verdad especialmente si no tenemos la variable innodb_file_per_table a 1, en caso contrario no es tan crítico ya que el ibdata es difícil que crezca incontroladamente. En dicho caso, la variable estaba a 1 y aún así muestra el mensaje:

# echo show variables | mysql | grep innodb_data_file_path\|innodb_file_per_table -E
innodb_data_file_path	ibdata1:10M:autoextend
innodb_file_per_table	ON

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>