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.

Tuesday, October 7, 2008

No mostrar o esconder una tabla en phpmyadmin (ej. information_schema)

Si por cualquier motivo necesitas esconder una tabla de mysql a través de phpmyadmin, lo único que tienes que hacer es modificar el fichero config.inc.php y añadir la siguiente línea:

$cfg['Servers'][$i]['hide_db'] = 'BaseDeDatos';

Por ejemplo es útil para la base de datos information_schema que todos los usuarios pueden ver y de esta manera nos podemos ahorrar preguntas, dudas o problemas con clientes/usuarios a los que les demos acceso a dicho phpmyadmin. Que en principio, no pasa nada, pero ya sabemos como son los usuarios/clientes y es mejor mostrarle únicamente lo que les corresponde, cuanto menos vean, mejor :)

posted by Adrian Perez at 5:18 pm  

Monday, September 15, 2008

phpmyadmin - error 2002, otra solucion

En los servidores que tengan instalado Cpanel la solución rápida a este problema es el comando:

/scripts/restartsrv_mysql --check

Existe una consideración a tener en cuenta, y es que cuando se vuelva a actualizar el sistema, volveremos a tener el problema.

posted by Adrian Perez at 4:40 pm  

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