systemadmin.es > DBA > Unidades para cambiar valores de MySQL en caliente

Unidades para cambiar valores de MySQL en caliente

Mediante SET GLOBAL / SET SESSION podemos modificar ciertos valores de MySQL, pero no aceptan unidades:

mysql> set session max_allowed_packet=20M;
ERROR 1232 (42000): Incorrect argument type to variable 'max_allowed_packet'

En lugar de tener que calcularlo fuera del MySQL, podemos indicar la operación. Por ejemplo, para 20M podemos indicar 20*1024*1024:

mysql> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 10485760 | 
+--------------------+----------+
1 row in set (0.00 sec)

mysql> set session max_allowed_packet=20*1024*1024;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 20971520 | 
+--------------------+----------+
1 row in set (0.00 sec)

mysql> 

Relacionados

One comment to “Unidades para cambiar valores de MySQL en caliente”

  1. Hola que tal, necesito incrementar los max_allowed_packets en un SOLARIS 9 del que NO TENGO la contraseña ROOT. se supone que mi usuario tiene todos los permisos, pero cuando le doy el set session me contesta que debo usar el global.
    Entonces uso el set global y de todas formas la variable sigue teniendo 1MB como limite, yo quiero subirla a 7 MB. ¿el problema se debe a que no tengo el usuario root? ¿hay otra forma de modificar la variable? Esto lo he probado tanto con un cliente desde mi PC como con la propia conexion a mysql en el servidor -con mi usuario que no es root- y de todas formas no hace el cambio. Muchas gracias de antemano por tu apoyo y te felicito por tu sitio.

Deja un comentario:

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