matnews.info - Mi mundo de administrador y offtopics

Administracion de sistemas, linux, windows, vmware, AIX, switch, routers, redes… y además todas las tonterias que me parezcan interesantes.

Wednesday, June 18, 2008

mysql - Got a packet bigger than ‘max_allowed_packet’ bytes

Error que me he encontrado cuando he intentado cargar un sql sobre una base de datos.
El problema se debe a que la consulta sobrepasa el ‘espacio’ máximo que permite el servidor o el cliente. Para solventarlo, debemos de tener en cuenta pues que la variable debe de ser de un tamaño que nos permita ejecutarla tanto en el servidor como en el cliente sin error.

- Para solventarla de cara al servidor, editamos el fichero /etc/my.cnf y lo añadimos del siguiente modo:

[mysqld]
max_allowed_packet=32M
etc

- Y para solventarlo de cara al cliente, lanzaremos el cliente con la siguiente opción:

mysql --max_allowed_packet=32M

He puesto 32Mb porque a mi con esa cantidad me es suficiente, quizá en tu caso en concreto tenga que ser mayor… o te vale un valor menor…

posted by Adrian Perez at 7:44 pm  

Friday, April 18, 2008

phpmyadmin - 2002 - El servidor no esta respondiendo (o el socket del servidor MySQL local no esta configurado correctamente)

Este problema se está dando en servidores con CPanel cuando se intenta acceder al phpmyadmin para gestionar las bases de datos Mysql desde el WHM, aunque en principio se podría dar en cualquier instalación.

Me he encontrado con este error en las últimas versiones CURRENT y RELEASE, así que no se si sólo serán estas versiones u otras estarán también afectadas.

El error sale en el explorador cuando pinchas sobre la acción de acceder al phpmyadmin

2002 - El servidor no esta respondiendo (o el socket del servidor MySQL local no esta configurado correctamente)

Para solventarlo:

Vamos al directorio de phpMyadmin, hacemos una copia de seguridad del fichero de configuración por lo que pueda pasar…

cd /usr/local/cpanel/base/3rdparty/phpMyAdmin
cp config.inc.php config.inc.php.origvi config.inc.php

Editamos el fichero y cambiamos las siguientes líneas para dejarlas tal y como se indica debajo:

$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')

$cfg['Servers'][$i]['socket']        = '/var/lib/mysql/mysql.sock';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type']  = 'socket';       // How to connect to MySQL server ('tcp' or 'socket')

Y vuestro podéis utilizar vuestro phpMyadmin para administrar fácilmente vuestras bases de datos.

PD: al parecer, cuando se actualiza CPanel en el servidor, el error vuelve a aparecer… Supongo que será hasta que los de CPanel lo arreglen definitivamente.

posted by Adrian Perez at 6:01 pm  

Wednesday, March 12, 2008

Crear usuario mysql desde consola


Siempre recomiendo utilizar un cliente que nos pueda facilitar la vida a la hora de realizar operaciones dentro de un servidor de bases de datos MySQL (como phpmyadmin, o navicat y otros). Pero si alguna vez no tienes posibilidad de poder utilizar alguno de estos siempre es bueno saber como hacerlo a la vieja y tradicional usanza:

- Entraríamos a MySQL a través de la linea de comandos:

[root@server ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 52584
Server version: 5.0.45-community MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>



Cuando tenemos el prompt de MySQL haríamos:

use mysql;
GRANT SELECT,INSERT,UPDATE,DELETE ON basededatos.* TO 'usuario'@'host' IDENTIFIED BY 'password';
flush privileges;



Con esto los permisos estarían ya asignados.

En la parte host lo que hacemos es indicar el host desde el cual se puede acceder con ese usuario. Por ello si queremos crear un usuario que pueda acceder desde cualquier host, deberemos de poner: ‘%’

GRANT SELECT,INSERT,UPDATE,DELETE  ON basededatos.* TO 'usuario'@'%' IDENTIFIED BY 'password';



En este caso en concreto estamos dando permisos para poder ver/actualizar/eliminar registros de la base de datos.
De todas maneras siempre que puedo intento utilizar un cliente/frontend que me facilite la vida.

posted by Adrian Perez at 1:33 pm  

Powered by WordPress