Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: . . . en 3 Febrero 2010, 06:05 am



Título: MYsql solo hay dos BD: information_schema y test
Publicado por: . . . en 3 Febrero 2010, 06:05 am
Por alguna razon solo me muestra estas dos BD en mysql ( desde la shell ):

information_schema
test

Antes aparecio mysql pero por alguna razon que desconozco desaparecio ... ahora no se que hacer y no puedo entrar al phpmyadmin porque no logre definir la clave de root ..

Adicionalmente cuando trato de entrar como root me aparece:
Citar
promt# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)

Si entro desde cualquier otro usuario que no sea el root si puedo entrar al mysql.

alguna ayuda please ˇˇ Estoy en opensuse11 con Kde.

Algo me dice que la solucion es restaurar la BD Mysql pero no encuentro la forma Y_Y


Título: Re: MYsql solo hay dos BD: information_schema y test
Publicado por: DragonFire en 6 Febrero 2010, 00:07 am
borraste la db que administra mysql y segurmente el resto de dbs, respalda los archivos de mysql busca en el home del usuario mysql y ahi deben estar y trata de restaurar tus dbs manualmente lo que posiblemente requiera una reinialiacion de mysql y luego intentar enlazar las dbs respaldas al mysql restaurado


Título: Re: MYsql solo hay dos BD: information_schema y test
Publicado por: ^Tifa^ en 6 Febrero 2010, 03:08 am
Esto deberia ir en el subforo de Base de Datos no en Linux.

El unico que tiene permisos total para ver y trabajar sobre el esquema mysql en un motor mysql es el usuario 'root' de MySQL (No root del sistema operativo). A no ser que se haya creado adicionalmente otro usuario en el motor y se le haya otorgado permisos de lectura o lectura escritura en el esquema mysql entonces este usuario tambien podra ver dicho esquema, pero esto no viene por defecto, esto se crea, en tu caso estas logeandote con un usuario normal, por ende NO tienes permisos para ver ni trabajar nada sobre el esquema mysql. Para verlo tienes que logearte al motor como 'root' del MySQL (No del sistema operativo) o con algun usuario extra que exista y tenga los mismos privilegios que 'root' del MySQL.

Citar
Adicionalmente cuando trato de entrar como root me aparece:
Citar
promt# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)

No se entra al servidor MySQL solamente ejecutando el comando 'mysql'  lo que estas haciendo de esta manera, es autentificandote con el usuario 'root' del sistema operativo y sin enviarle contrasena. Tienes que logearte con el password de root :

bash$ mysql -u root  -pcontrasena

En caso que no te sepas la clave de root del MySQL, puedes apagar el servicio mysql y mediante linea de comando reiniciar el servidor asi:

bash$ mysqld_safe --skip-grant-tables &

Lo anterior solo funcionara, si MySQL fue compilado con la opcion skip-grant habilitada (Por defecto viene habilitada). Si todo sale bien veras que se ha iniciado mysql, ahora entraras con la cuenta 'root' de MySQL.

bash$ mysql -u root

Ahi dentro vas a resetear la contrasena del usuario 'root'

mysql> update mysql.user set password = password('tu_contrasena_nueva') where user = 'root';
mysql> flush privileges;

Hecho lo anterior saldras del motor y reiniciaras el servidor MySQL, y te logearas con el usuario 'root' y la nueva contrasena que definiste.