PDA

Ver la Versión Completa : Utilizar MySQL en GNU/Linux


Ñuño Martínez
14-12-2006, 21:55:53
Buenas gente.

Hace unas semanas instalé Apache2, PHP5 y MySQL5 en mi Kubuntu. Con Apache y PHP no hay problemas, puedo acceder a ello y utilizarlo, pero con MySQL no hay manera.

Lo instalé todo utilizando Synaptic, y todo funciona, pero cuando intento ejecutar cualquier programa de gestión de MySQL me dice quemysqlshow: Access denied for user 'guillermo'@'localhost' (using password: NO) Y es sólo un ejemplo. El servidor está funcionando, porque al pedir la lista de procesos (por ejemplo, con ps -A) se ven al menos dos cuyo nombre empieza por "mysql" ("mysqld_safe" y "mysqld").

Comprobé los grupos a los que pertenece mi usuario y sí pertenece al grupo "mysql", el único que parece tener algo que ver con MySQL.

Yo ya no sé qué hacer, porque según los manuales debería crear unas tablas (mysql_install_db), pero no me deja porque ya están creadas (al parecer se crean automáticamente al instalar los paquetes). En ningún sitio he encontrado nada que diga que existe un usuario por defecto ni nada de eso...

¿Alguien puede echarme una mano?

roman
15-12-2006, 03:20:56
A ver, si no indicas ningún usuario en la línea de comandos de mysql, mysqlshow, mysqldump, etc., se intentará conectar usando el usuario del sistema, guillermo en este caso (supongo), pero el caso es que debe haber un guillermo registrado como usuario de mysql. Vamos, que los usuarios de mysql no son los mismos que los usuarios del sistema. Por defecto, me parece que mysql sólo crea al usuario root (que nada tiene que ver con el root del sistema) y hasta donde recuerdo, lo crea sin ninguna contraseña y con derecho a todo si accede desde el mismo host (localhost). Luego entonces, intenta entrar a la consola de mysql con:


$ mysql -uroot


Si te deja entrar, lo primero será asignarle contraseña con


mysql> use mysql;
mysql> update user set password='contraseña' where user='root';


// Saludos

Ñuño Martínez
15-12-2006, 11:06:44
Recoña :eek: , ¿y por qué no dice nada de eso la documentación? Por que en esta los ejemplos con mysqlshow no utiliza usuarios ni nada por el estilo. Esta tarde, en casita, lo pruebo a ver.

AzidRain
15-12-2006, 16:08:59
No dice nada porque la cuestion de los usuarios y los accesos tanto a "ficheros" (archivos, vamos) como a aplicaciones son cuestiones inherentes a Linux por lo que es de suponer que quien instala algo en ese entorno ya tiene conocimiento de este detalle. Coincido en que la documentación al menos debería incluir un: "Consulte la documentación sobre usuarios y privilegios de su distribución Linux"

En Windoze es una pachanga por aqui cualquiera instala lo que se le pega la gana y donde quiera...ya los problemas vendrán después...:)

roman
15-12-2006, 17:45:02
Pero, justamente, no estamos hablando de los usuarios y privilegios del sistema. De eso, en efecto, no tendría por qué hablar el manual. Estamos hablando de los usuarios del servidor de MySql, y de esto sí se habla en el manual; en el apartado Post-Installation Setup and Testing (http://dev.mysql.com/doc/refman/5.0/en/post-installation.html), sección Securing the Initial MySQL Accounts (http://dev.mysql.com/doc/refman/5.0/en/default-privileges.html).

Otra cosa es que no sea tan obvio que ahí haya que consultar :)

// Saludos

Ñuño Martínez
18-12-2006, 22:03:41
Tal vez la confusión venga de que la documentación que viene con (K/X)Ubuntu no es muy completa, que digamos (por ejemplo, nunca la instala por defecto). Yo creo que deberían pensar más en los que empezamos o no queremos ser administradores de sistema sino simples usuarios (como es mi caso).

En fin, ya he conseguido conectar el KMySQLAdmin. Ahora solo falta que sea capaz de crear la base de datos y poder acceder a ella.

Muchas gracias por la ayuda :).