# [Mysql]Privilegios y contraseñas de usuarios.(cerrado)

## flaab_0n

Acabo de instalar apache, mod_php, mysql y phpmyadmin.

Todo correcto.

Pero no consigo poner contraseña ni privilegios a mi usuario root.

He aqui mis resultados. 127.0.0.1 se llama GeNt0o. Con apache iniciado y mysql tambien...

```
root@GeNt0o flaab # mysqladmin -u root -h GeNt0o password pass

mysqladmin: connect to server at 'GeNt0o' failed

error: 'Access denied for user: 'root@GeNt0o' (Using password: NO)'

root@GeNt0o flaab # mysqladmin -u root -h localhost password pass

mysqladmin: connect to server at 'localhost' failed

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

```

No consigo asignar una contraseña a mi usuario root para entrar a mysql o phpmyadmin. Sin contraseña tampoco puedo entrar.

¿Como hago un usuario y le doy todos los privilegios sobre la bbdd?

Gracias

----------

## Stolz

 *Quote:*   

> (Using password: NO)'

 

No te está pillando la contraseña, no está bien la linea de comandos. Eso es para cambiar la clave.

Para indicar contraseña no se hace así, sino con el parametro -p.

Prueba con 

```
mysqladmin -u root -p
```

 y ya se encargará de pedir clave.

De todas formas, creo que la instalacion por defecto no te asigna contraseña para root, asi es que con 

```
mysqladmin -u root mysql
```

 deberia de bastar para conectar.

Una vez dentro, para asignar password:

```
SET PASSWORD FOR root=PASSWORD('new_password');
```

Espero que te sirva, porque escribo de memoria. Hace mas de un año que no instalo mysql.

Ademas, si piensas conectar a la base de datos desde otras maquinas, debs saber que por defecto el servidor MySQL no permite conexiones desde ordenadores remotos. Si quires activar esta posibilidad, editar el archivo /etc/mysql/my.cnf y asegurarse que estas dos lineas aparecen COMENTADAS:

#bind-address = 127.0.0.1

#skip-networking

Si no quieres que escuche en todas las interfaces, entonces descomenta bind-address e indica la Ip en la que quieres que escuche el servicio.

Recuerda reiniciar para que los cambios tengan efecto. 

Saludozzzzzzz

----------

## flaab_0n

Probaré lo que me dices Stoolz  :Smile: 

Salu2. Ya te diré y muchas gracias

----------

## useche

si lo que te dijo Stolz no funciona, prueba

```
mysqladmin -u root -h localhost password 'pass'
```

presta atencion a la comilla.

Espero ayude

saludos

----------

## flaab_0n

Ya he cnseguido ponerle una contraseña al usuario root, ahor tengo linea de comandos mysql de la siguiente manera:

```
flaab@gentoo flaab $ mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 23 to server version: 4.0.22

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

mysql>

```

Sin embargo, no puedo entrar a phpmyadmin con el usuario root y su debida contraseña. Pongo usuario root y contraseña la que he puesto para root y no me deja :S.

¿Por que?

Tambien que creado un suario llamado flaab, al que le he concedido todos los privilegios y que tambien funciona por contraseña. Y obtengo una linea de comandos exactamente como la de arriba, y puedo añadir filas y modificar cosas, pero NO puedo acceder a Phpmyadmin.    :Shocked: 

¿Como hago?

Muchas gracias.

----------

## Stolz

No se la razon a ciencia cierta, pero está claro que es un problema de permisos.

MySQL distingue entre 127.0.0.1 y "localhost" como maquinas distintas (aunque realmente sean la misma).

Si phpmyadmin esta conectando a traves de 127.0.0.1 pero MySQL solo esta configurado para dar acceso a root@localhost, logicamnete te da error.

Consulta la documentacion de SQL o MySQL para asignar permisos a maquinas, usuarios, bases de datos, ...

Concretamente, los permisos se asignan con el comando GRANT de SQL. Como de momento tienes acceso desde consola, asigna desde hai los permisos.

Suerte!

Un saludo.

----------

## flaab_0n

Ya lo he conseguido. Muchas gracias.

al terminar de emerge phpmyadmin, hay un comentario al usuario donde dice que hay q ejecutar un cierto comando mysql respecto a un script mysql que se guarda en /etc/phpmyadmin.

Ya lo tengo funcionando.

Muchas gracias  :Very Happy: 

Stoolz, tu q has trabajado con mysql. Veras, tengo una base de datos en un ordenador y kiero pasarlas a otro ordenador, como puedo volcar esa base de datos a un archivo, y cargarlo en el otro?

Muchas gracias.

----------

## Stolz

Para copiarla a un archivo:

```
mysqldump -u usuario -p contraseña  --opt nombre_de_la_base_de_datos > copia.sql
```

Para restaurarla, bien desde phpmyadmin, bien con el comando:

```
mysql -u  usuario -p contraseña  nombre_de_la_base_de_datos <./copia.sql
```

Saludozzzzzzz

----------

## flaab_0n

Muchas Gracias Stoolz mañana mismo lo hago  :Smile: 

Da gusto macho xDDD

----------

## flaab_0n

Hola Stoolz  :Very Happy: 

Felices Reyes magos, jejeje.

Verás tengo otro problemilla...

Estoy ahora metiendo a m bbdd la copia.sql de la base de datos. Y al ejecutar esto me da error.

```
root@gentoo flaab # mysql -u flaab -p ases <./ases.sql

Enter password:

ERROR 1062 at line 159: Duplicate entry '1' for key 1

```

La lina 159 se corresponde con:

```
INSERT INTO escrutinio VALUES (0,15,'100','20.737,89','2.787','496,06','32.664','42,33','212.632','6,50','879.188','1,57'),(1,16,'40','50.851,07','1.378     ','984,06','17.400     ','77,93','123.409     ','10,99','564.022     ','2,40'),(2,17,'1','2.073.264,08','151     ','9.153,48','2.665     ','518,64','26.028     ','53,10','167.196     ','8,27'),(3,18,'20','64.225,11','861','994,58','12.397','69,08','97.982','8,74','467.592','1,83');
```

Todo lo demas hasta la linea 159 me lo escribe correctamente.

Pero al llegar AHÏ, que tiene valores numerico me escribe la primera fila de esa tabla, pero la segunda ya no. Dice entrada duplicada :S.

Entonces comento esas lineas, y me da otro error similar en la linea 216 donde tambien se insertan valores numericos.

Existe algun comando para que meta todos los datos que tiene el script sql sin evaluarlo?

Y a santo de que me da error y en el otro ordenador para exactamente la misma bbdd no me daba ningun error?  :Sad: 

En fin, ya me keda pokito jeje. 

Un abrazo y gracias otra vez.

----------

## flaab_0n

He probado a comentar mas lineas de insercion de datos del script sql generado, he comentado y comentando recibiendo siempre el mismo error en 3 ocasiones, en diferentes lineas.

Posteo la configuracion entera de una de las tablas en las que me da error en la siguiente linea: 

INSERT INTO premios VALUES 

```
--

-- Table structure for table `premios`

--

DROP TABLE IF EXISTS premios;

CREATE TABLE premios (

  id_fila int(20) NOT NULL auto_increment,

  id_jornada int(20) NOT NULL default '0',

  catorce varchar(4) NOT NULL default '',

  trece varchar(4) NOT NULL default '',

  doce varchar(4) NOT NULL default '',

  once varchar(4) NOT NULL default '',

  diez varchar(4) NOT NULL default '',

  UNIQUE KEY id_fila (id_fila)

) TYPE=MyISAM;

--

-- Dumping data for table `premios`

--

/*!40000 ALTER TABLE premios DISABLE KEYS */;

LOCK TABLES premios WRITE;

INSERT INTO premios VALUES (0,15,'0','1','13','72','220'),(1,16,'0','1','12','62','180'),(2,17,'0','0','0','2','22'),(3,18,'0','2','22','102','258');

UNLOCK TABLES;

/*!40000 ALTER TABLE premios ENABLE KEYS */;

```

Y he aqui el error de esa linea:

```
root@gentoo flaab # mysql -u flaab -p ases <./ases.sql

Enter password:

ERROR 1062 at line 243: Duplicate entry '1' for key 1

```

Se supone que si el script lo genera la misma mysql...deberia funcionar, no?

Un abrazo. ¿ideas?

----------

## Ferdy

Prueba a borrar la base de datos y volver a meter el dump. Me suena a que la entrada estaba en la base de datos, no duplicada en el sql.

Salu2.Ferdy

----------

## flaab_0n

Freddy, he probado a hacer el dump sin tener la base de datos creada.

He aqui su respuesta:

```
flaab@gentoo flaab $ mysql -u flaab -p <./ases.sql

Enter password:

ERROR 1046 at line 14: No Database Selected

```

Se ve que si no CREO primero una base de datos de nombre ases no me hace la extraccion. Entonces la he creado, y sin tener ninguna tabla ni ningun dato ni nada, realice la extraccion y me dio ese error.

Se ve que el script no tiene la orden de CREAR la base de datos.

Un abrazo.

Sigo probando cosas

----------

## Ferdy

```
mysql -u user -p basededatos < fichero.sql
```

PD: s/Fred*y/Ferdy/g

Saludos.Ferdy

----------

## flaab_0n

Hola Ferdy:

He aqui el output:

```
flaab@gentoo flaab $ mysql -u flaab -p ases < ases.sql

Enter password:

ERROR 1049: Unknown database 'ases'

```

Entonces probe a crear la BBDD y volver a hacerlo de esta manera:

```
flaab@gentoo flaab $ mysql -u flaab -p ases < ases.sql

Enter password:

ERROR 1062 at line 159: Duplicate entry '1' for key 1

```

Y tres cuartos de lo mismo. Esta vez en otra linea xq he descomentado todas las lineas q daban error y que habia comentado para ver cuantas habia. Pero vamos, igual.

Ese error se corresponde con la tabla:

```
DROP TABLE IF EXISTS escrutinio;

CREATE TABLE escrutinio (

  id_fila int(20) NOT NULL auto_increment,

  id_jornada int(20) NOT NULL default '0',

  14_acert varchar(15) default '0',

  14_premio varchar(30) default NULL,

  13_acert varchar(15) NOT NULL default '0',

  13_premio varchar(30) NOT NULL default '',

  12_acert varchar(15) NOT NULL default '0',

  12_premio varchar(30) NOT NULL default '',

  11_Acert varchar(15) NOT NULL default '0',

  11_premio varchar(30) NOT NULL default '',

  10_acert varchar(15) NOT NULL default '0',

  10_premio varchar(30) NOT NULL default '',

  UNIQUE KEY id_fila (id_fila)

) TYPE=MyISAM;

```

Q es muy parecida a la otra.

 :Smile:  Sigo probando y muchas gracias x tu ayuda

----------

## flaab_0n

He redirigido mi problema este nuevo post:

https://forums.gentoo.org/viewtopic.php?p=1948261

Ya que es totalmente distinto del original.

Muchas gracias a todos por vuestra ayuda.  :Smile: 

----------

