2010-10-02 35 views
19

Instalé mysql en el servidor de Ubuntu y no especifique la contraseña. Cuando lo hagomysql está solicitando una contraseña aunque mi contraseña esté vacía

mysql -u root -p 

solicita una contraseña y sin proporcionar ninguna entrada solo presiono enter y funciona.

Ahora necesito realizar alguna operación en la base de datos usando cron job. Mi trabajo cron no funciona porque mysql solicita una contraseña. Intenté hacer

mysql -u root -p'' my_database 

pero eso tampoco funcionó.

¿Alguna sugerencia?

Respuesta

17

Intenta no pedir a mysql que solicite la contraseña 'mysql -u myuser'. Le sugiero que cree una cuenta con solo los privilegios necesarios para hacer esto. También limite su acceso a localhost. Pon una contraseña en la raíz.

+1

+1, Esta es técnicamente la respuesta que el usuario está buscando. Para que MySQL no solicite una contraseña, no configure '-p'. – wuputah

+0

wuputah tienes razón. No me pidas que establezca una contraseña cuando no quiero establecer la contraseña. –

+0

Sugiero que use una buena seguridad. Ejecutar root sin una contraseña es de alto riesgo. Al menos, limite el acceso al sistema local. La mejor práctica para las cuentas sin contraseña es el menor acceso. – BillThor

0

¿Por qué no especifica una contraseña para la raíz? Por razones de seguridad, tu script funcionaría.

+0

Acepto, simplemente establezco una contraseña de root y luego el código especificado debería funcionar bien. – Cole

+0

Mejor aún, OP debería crear un usuario no root y otorgar acceso para el nuevo usuario al DB en cuestión. – luckytaxi

0

La cuenta "raíz" de Mysql debe tener una contraseña; de lo contrario, cualquier persona con una cuenta en su máquina tiene acceso completo a la base de datos.

  1. Set a password (por ejemplo, con SET PASSWORD)
  2. Añadir la contraseña para ~/.my.cnf

Si desea opciones de autenticación más sanos, lo recomiendo Postgres.

60

ir así mysql -u root --password="" dbname

+9

Esta es la respuesta correcta para la pregunta. Sí, el autor de la pregunta y yo y, probablemente, cualquier persona que mire este hilo sepa que no debería tener contraseñas vacías, pero la pregunta era cómo hacerlo si realmente queremos tener contraseñas vacías y esto funciona a la perfección. NOTA: MYSQL versión 5.5.25a – PSIXO

12

he instalado MySQL en el servidor de Ubuntu y no especificó contraseña. Cuando hago

mysql -u root -p 

-p nos lleva a la solicitud de contraseña. Si no tiene una contraseña, entonces no quiere hacer eso.

acaba de escribir:

mysql -u root 

Por el amor de dios, obtener una contraseña en esa cuenta!

1

Consulte la documentación de MySQL para saber cómo restablecer su contraseña, ya que tampoco encontré la forma de ingresar una contraseña. Se podría utilizar lo siguiente: http://dev.mysql.com/doc/mysql-windows-excerpt/5.0/en/resetting-permissions-windows.html que establece que usted tiene que crear un archivo con la siguiente consulta:

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

Y a continuación, iniciar el servicio mysqld con el parámetro init-file (ver la documentación para obtener más información sobre esto). Esto debería restablecer su contraseña de root.

+0

MySQL no distingue entre "sin contraseña" y "contraseña vacía". –

Cuestiones relacionadas