2010-10-02 192 views
19

我在ubuntu服务器上安装了mysql并没有指定密码。当我做即使我的密码为空,mysql仍然提示输入密码

mysql -u root -p 

它提示输入密码,并没有提供任何输入,我只是打入输入,它的工作原理。

现在我需要使用cron作业在数据库上执行一些操作。我的cron作业不起作用,因为mysql提示输入密码。我试着做

mysql -u root -p'' my_database 

但这也没有工作。

有什么建议吗?

回答

17

不要求mysql提示输入密码'mysql -u myuser'。我建议你创建一个只有所需权限的帐户来执行此操作。同时限制其对本地主机的访问。在根上输入密码。

+1

+1,这在技术上是用户正在寻找的答案。为了不让MySQL提示输入密码,不要设置'-p'。 – wuputah 2010-10-02 02:24:04

+0

wuputah你是对的。当我不想设置密码时,请勿要求我设置密码。 – 2010-10-02 05:59:45

+0

我建议你使用良好的安全性。无密码运行root是高风险的。至少限制对本地系统的访问。没有密码帐户的最佳做法是访问最少。 – BillThor 2010-10-02 22:30:06

0

为什么不给root指定密码?出于安全原因,你的脚本可以工作。

+0

我同意,只是实际设置一个root密码,然后指定的代码应该工作正常。 – Cole 2010-10-02 01:29:38

+0

更好的是,OP应该创建一个非root用户,并为新用户授予有问题的数据库访问权限。 – luckytaxi 2010-10-02 01:47:59

0

Mysql的“root”帐户应该有一个密码;否则在您的计算机上拥有帐户的任何人都可以完全访问数据库。

  1. Set a password(例如用SET PASSWORD)
  2. 如果您想了解更多理智的身份验证选项添加密码~/.my.cnf

,我推荐的Postgres。

60

去这样mysql -u root --password="" dbname

+9

这是问题的正确答案。是的问题作者和我,也许任何人看着这个线程知道你不应该有空密码,但问题是如何做到这一点,如果我们真的想要空密码,这完美的作品。注:MYSQL版本5.5.25a – PSIXO 2014-04-17 13:45:32

12

我安装Ubuntu的服务器上的MySQL并没有指定密码。当 我做

mysql -u root -p 

-p带来了密码提示。如果你没有密码,那么你不想这样做。

只要写:

mysql -u root 

为了上帝的爱,该帐户获得口令!

1

检查MySQL文档以了解如何重置密码,因为我找不到输入密码的方法。你可以使用以下方法:http://dev.mysql.com/doc/mysql-windows-excerpt/5.0/en/resetting-permissions-windows.html 其中规定,你必须创建具有以下查询文件:

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

然后用--init-file参数启动mysqld服务(见文档的详细信息对这个)。这应该重置您的root密码。

+0

MySQL不区分“无密码”和“空密码”。 – 2014-01-20 13:51:05