# [SOLUCIONADO] Cuenta Root en Mysql despues de instalacion ??

## Diabliyo

Hola:

Me he instalado apache, php y mysql... Anteriormente ya los tenia instalados pero como tuve broncas con mi HDD, al final tuve que comprar un nuevo HDD, instalar nuevamente gentoo y todo el baile de paquetes  :Very Happy:  !!...

APACHE ya quedo listo para que los usuarios puedan tener su propio website local (public_html), tambien habilite en el /etc/conf.d/apache2 la variable que activa a PHP5 (-D PHP5). Oviamente PHP5 tambien ya quedo instalado.

Por ultimo me instale mysql en su mas reciente version de portage (5.0), invocando asi: emerge virtual/mysql.

Una vez instalado mysql, he realizado lo siguiente:

```
shell# mysql_install_db

shell# rc-update add mysql default

shell# /etc/init.d/mysql start

Todo OK
```

Despues intento acceder a mysql invocandolo e las siguientes maneras:

```
shell# mysql

ERROR 1045 (28000): Access denied for user 'diabliyo'@'localhost' (using password: NO)

shell# mysql -u root

ERROR 1045 (28000): Access denied for user 'diabliyo'@'localhost' (using password: NO)

shell# mysql -u root -p

password:   (no se que password poner, ya probe todos los que uso y los que me imagine y nada :( )

ERROR 1045 (28000): Access denied for user 'diabliyo'@'localhost' (using password: NO)
```

Cuando hice mysql_install_db nunca menciono ningun password por defecto ni nada :S !!...

Que puedo hacer ??

OJO: porfavor evitense la pena de recomendarme aplicaciones alternas para solucionar mi problema, ejemplo: mysqladmin o cualquier otro GUI

Ando buscando una solucion generica por comandos !!

bye byeLast edited by Diabliyo on Fri Feb 20, 2009 3:43 pm; edited 1 time in total

----------

## demostenes

Creo que ya se ha respondido esta pregunta, pero ahí va el enlace al  manual :

http://www.gentoo.org/doc/en/mysql-howto.xml

y la porción del mismo donde indica qué has de hacer:

```
Code Listing 1.3: MySQL configuration

(Replace [version] with the version number you have just installed.)

# emerge --config =dev-db/mysql-[version]

 * MySQL DATADIR is /var/lib/mysql

 * Press ENTER to create the mysql database and set proper

 * permissions on it, or Control-C to abort now...

   Preparing db table

   Preparing host table

   Preparing user table

   Preparing func table

   Preparing tables_priv table

   Preparing columns_priv table

   Installing all prepared tables

   To start mysqld at boot time you have to copy support-files/mysql.server

   to the right place for your system

   PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

   To do so, issue the following commands to start the server

   and change the applicable passwords:

   (Note the next 3 lines)

   /etc/init.d/mysql start

   /usr/bin/mysqladmin -u root -h pegasos password 'new-password'

   /usr/bin/mysqladmin -u root password 'new-password'

Depending on your configuration, a -p option may be needed

   in the last command. See the manual for more details.

(Some MySQL non-ebuild specific information has been removed from here

so as to keep this document as consistent as possible)

   * For security reasons you should set your MySQL root

   * password as soon as possible.

```

Y ahora lo importante del código anterior:

(Note the next 3 lines)

   /etc/init.d/mysql start

   /usr/bin/mysqladmin -u root -h pegasos password 'new-password'

   /usr/bin/mysqladmin -u root password 'new-password'

donde  pesagos es el nombre de tu máquina y new-password... ¡adivivna!

----------

## opotonil

 *Quote:*   

> 
> 
> http://www.gentoo.org/doc/es/mysql-howto.xml
> 
> 

 

```

emerge --config =dev-db/mysql-[version]

/etc/init.d/mysql start

/usr/bin/mysqladmin -u root -h pegasos password 'new-password'

/usr/bin/mysqladmin -u root password 'new-password'

```

Salu2.

--- EDITADO ---

Te me adelantaste @demostenes

----------

## Diabliyo

En primera, de antemano les menciono que yo no utilize el comando: emerge --config =dev-db/mysql-[version] , debido a que dicho comando hace que portage se setee con una version especifico, pero en mi caso, la version que me proporciona el portage es la que deseo, asi que por logica, ese comando se omite, y solo se hace emerge dev-db/mysql.

Otra cosa, yo tengo instalado dev-db/mysql y virtual/mysql, no importa si estan los dos instalados, cierto ???

Por otro lado, disculpen primeramente por omitir la siguiente informacion, la cual no crei importante mencionar, pero, sucede que ese manual ya lo habia leido y despues instale mysql (emerge mysql), en seguida realize:

```
shell# mysqladmin -u root -h localhost password 'passqueyoquiera'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'

shell# shell# mysqladmin -u root password 'passqueyoquiera'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'

```

Y nada, me sale el error que ya pueden apreciar en el code de arriba !!

----------

## demostenes

O no lo has hecho como root o te has equivocado en la clave. No se me ocurre otra cosa.

----------

## esteban_conde

 *Quote:*   

> hell# mysqladmin -u root -h localhost password 'passqueyoquiera'
> 
> mysqladmin: connect to server at 'localhost' failed 

 

Para que ese comando funcione tienes que tener hecho /etc/init.d/mysql start o meter mysql en el runlevel default.

----------

## opotonil

 *Quote:*   

> 
> 
> En primera, de antemano les menciono que yo no utilize el comando: emerge --config =dev-db/mysql-[version] , debido a que dicho comando hace que portage se setee con una version especifico, pero en mi caso, la version que me proporciona el portage es la que deseo, asi que por logica, ese comando se omite, y solo se hace emerge dev-db/mysql. 
> 
> 

 

No termino de entenderte, no te referiras a:

```

emerge =dev-db/mysql-[version]

```

que instala la version indicada, en vez de a:

```

emerge --config =dev-db/mysql-[version]

```

que configura la version indicada (imagino que permita slots, sino no le veo mucho sentido a lo de indicar la version)

Salu2.

----------

## Diabliyo

 *opotonil wrote:*   

>  *Quote:*   
> 
> En primera, de antemano les menciono que yo no utilize el comando: emerge --config =dev-db/mysql-[version] , debido a que dicho comando hace que portage se setee con una version especifico, pero en mi caso, la version que me proporciona el portage es la que deseo, asi que por logica, ese comando se omite, y solo se hace emerge dev-db/mysql. 
> 
>  
> ...

 

Les contestare a todos, es muy simple lo que intento explicar:

1- Estoy instalando la version que me proporciona portage, asi: emerge dev-db/mysql, y por defecto me instala la 5.0. Olvida eso de mysql[version], eso lo empezo otro usuario que posteo aqui, y solo sirvio para trastornar el tema.

2- Una vez instalado dev-db/mysql, levanto el servicio. /etc/init.d/mysql start, y despues ejecuto mysqladmin, con todo respeto hasta la pegunta es ILOGICA, porque si intentas mysqladmin te indica que no existe /var/run/mysql.sock, vaya, no se levanto mysql, y eso no lo indica porque oviamente esta levantado el servicio.

3- Cuando hago mysqladmin -u root -h localhost password 'passqueyoquiera', oviamente es como ROOT, ya que por logica intento setear el pass del root de mysql :S.

Continuando....

Como por defecto tenia instalado virtual/mysql y dev-db/mysql, mejor volvi a empezar todo y realize lo siguiente detalladamente:

OJO: el simbolo # indica que estas en una consola linux logeado como ROOT, de lo contrario se mostraria un $.

```
//nombre de mi host

shell# hostname -f

coder.sie_center

//desinstalando todo

shell# emerge -C dev-db/mysql

shell# emerge -C virtual/mysql

//instalando mysql, por defecto se instala mysql-5.0.70-r1

shell# emerge dev-db/mysql

//iniciamos deamon mysql

shell# /etc/init.d/mysql start

* Starting mysql...

* Starting mysql (/etc/mysql/my.cnf)...           [OK]

//instalamos base de datos

shell# mysql_install_db

//intentamos configurar password de root de localhost

shell# mysqladmin -u root -h localhost password '123456789abc'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'

//intentando configurar password root del nombre de mi host (coder)

shell# mysqladmin -u root -h coder password '123456789abc'

mysqladmin: connect to server at 'coder' failed

error: 'Host 'localhost' is not allowed to connect to this MySQL server'

//intentando configurar password root sin importar el nombre del host

shell# mysqladmin -u root password '123456789abc'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'
```

Y si intento acceder a mysql sin establecer password de root, sucede esto:

```
shell# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

shell# mysql -u root

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

shell# mysql -u root -p

Enter password:  (escribo un pass... el que sea)

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
```

Y como ven, aqui me atore  :Very Happy: !!

bye bye

----------

## esteban_conde

 *Quote:*   

> mimaquina esteban # mysqladmin -u root password yomismo
> 
> mysqladmin: connect to server at 'localhost' failed
> 
> error: 'Access denied for user 'root'@'localhost' (using password: NO)'
> ...

 

Como ves mysqladmin me da error ¿Que pasa? pues que como se demuestra más abajo el usuario ya estaba creado, de hecho el comando mysqladmin -u root password mipassword (sin comillas) tuvo exito cuando lo ejecute hace media hora.

----------

## Diabliyo

 *esteban_conde wrote:*   

>  *Quote:*   mimaquina esteban # mysqladmin -u root password yomismo
> 
> mysqladmin: connect to server at 'localhost' failed
> 
> error: 'Access denied for user 'root'@'localhost' (using password: NO)'
> ...

 

No entiendo si me quieres dar a entender algo o si estas manifestando el mismo problema ??

Por favor explicate un poco mas...

----------

## esteban_conde

 *Quote:*   

> No entiendo si me quieres dar a entender algo o si estas manifestando el mismo problema ??
> 
> 

 

Estoy diciendote que no tengo problemas para crear un usuario mysql con mysqladmin ni en ejecutar mysql con ese usuario.

Lo que ocurre es que una vez que lo has creado si repites el comando ya no da resultado y da error, posiblemente tu ya lo tengas creado en uno de tus intentos y no lo recuerdes.

Prueba a hacer mysl -u root -p

Si has dado siempre el mismo password repite, si no sale ponle apostrofos pues he observado que se los pones.

----------

## Diabliyo

 *esteban_conde wrote:*   

>  *Quote:*   No entiendo si me quieres dar a entender algo o si estas manifestando el mismo problema ??
> 
>  
> 
> Estoy diciendote que no tengo problemas para crear un usuario mysql con mysqladmin ni en ejecutar mysql con ese usuario.
> ...

 

Siempre doy el mismo password de root para mis programas que lo requieran, y cuando hice por PRIMERA VEZ mysqladmin puse dicho password que siempre pongo. Ya hice mysql -u root -p y aun me arroja el mismo error.

```
shell# mysql -u root -p

Enter password:  (escribo un pass... el que sea)

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
```

bye bye

----------

## esteban_conde

 *Diabliyo wrote:*   

> mysqladmin -u root -h localhost password '123456789abc' 

 

si lo has hecho tal como pones ahí '123456589abc' las comillas es posible que te las haya tomado como parte de la contraseña, cuando te la pida ponselas a ver si es eso. (En cualquier pequeñez puede estar el fallo).

Suerte.

----------

## demostenes

Bueno, pues prueba con esto. Diabliyo:

```
#/etc/init.d/mysqld stop

#rm /var/run/mysqld/mysqld.pid

#mysqld --user=mysql  start

```

y ahora crea un fichero de nombre  mysql-init y pégale esto:

```
UPDATE mysql.user SET Password=PASSWORD('clavenueva') WHERE User='root';FLUSH PRIVILEGES;
```

Este fichero será cargado ahora y hará que la clave sea reseteada a clavenueva:

```
# mysqld_safe --init-file=/directoriodelfichero/mysql-init &

```

borra el fichero mysql-init y listo, según el manual http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html

----------

## Diabliyo

 *demostenes wrote:*   

> Bueno, pues prueba con esto. Diabliyo:
> 
> ```
> #/etc/init.d/mysqld stop
> 
> ...

 

Simplemente no funciona...

Mira:

```
shell# cat mysql-init

UPDATE mysql.user set password = password('elpassword') where user='root';flush privileges;

shell# mysqld_safe --init-file=mysql-init &

Starting mysqld daemon with databases from /var/lib/mysql

STOPPING server from pid file /var/run/mysqld/mysqld.pid

090217 19:05:17  mysqld ended
```

No funciona el metodo !!

----------

## Diabliyo

 *esteban_conde wrote:*   

>  *Diabliyo wrote:*   mysqladmin -u root -h localhost password '123456789abc'  
> 
> si lo has hecho tal como pones ahí '123456589abc' las comillas es posible que te las haya tomado como parte de la contraseña, cuando te la pida ponselas a ver si es eso. (En cualquier pequeñez puede estar el fallo).
> 
> Suerte.

 

Aun sigo sin logearme exitosamente, he realizado todo de nuevo (como ya se los comente en el post ante-anterior), intente poniendo despues el password con y sin comillas, y aun nada !!

REPITO NUEVAMENTE LA INFORMACION

```
//nombre de mi host

shell# hostname -f

coder.sie_center

//desinstalando todo

shell# emerge -C dev-db/mysql

shell# emerge -C virtual/mysql

//instalando mysql, por defecto se instala mysql-5.0.70-r1

shell# emerge dev-db/mysql

//iniciamos deamon mysql

shell# /etc/init.d/mysql start

* Starting mysql...

* Starting mysql (/etc/mysql/my.cnf)...           [OK]

//instalamos base de datos

shell# mysql_install_db

//intentamos configurar password de root de localhost

shell# mysqladmin -u root -h localhost password '123456789abc'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'

//intentando configurar password root del nombre de mi host (coder)

shell# mysqladmin -u root -h coder password '123456789abc'

mysqladmin: connect to server at 'coder' failed

error: 'Host 'localhost' is not allowed to connect to this MySQL server'

//intentando configurar password root sin importar el nombre del host

shell# mysqladmin -u root password '123456789abc'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'
```

Y si intento acceder a mysql sin establecer password de root, sucede esto:

```
shell# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

shell# mysql -u root

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

shell# mysql -u root -p

Enter password:  (escribo un password: 123456789abc)

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
```

Y como ven, aqui me atore  :Very Happy: !!

----------

## t4d3o

Yo borraría todo y volvería a empezar siguiendo el HOWTO de Gentoo http://www.gentoo.org/doc/es/mysql-howto.xml

Siempre que instalo cosas de este estilo busco a ver si hay algun howto "oficial" y nunca nunca he tenido problemas siguiéndolos.

También te recomiendo que te leas la guia de como usar el foro correctamente ya que creo que no te la has leido https://forums.gentoo.org/viewtopic-t-378005.html

Un saludo

----------

## Asceta

Hola,

Yo creo que está muy claro que te has saltado un paso después de instalar. Una vez instalado debes ejecutar este comando:

```

# emerge --config =dev-db/mysql-5.0.70-r1 

```

Creo que te falta el paso de la configuración.

Un saludo

----------

## Diabliyo

Ciertamente, esa es la solucion.

Para los interesados la solucion mas especifica fue:

```
//buscamos las versiones que proporciona portage

shell# emerge --search mysql

shell# emerge dev-db/mysql  //instalamos

shell# emerge --config =dev-db/mysql-5.0.70-r1   //configuramos el sistema

//en este momento el sistema de configuracion nos pide el pass el root a establecer

shell# /etc/init.d/mysqld start   //iniciamos mysql

shell# mysql -u root -p

Password:  (escribirmos el pass)
```

Gracias por su ayuda !!

----------

