即使我的密码为空,mysql也会提示输入密码

时间:2010-10-02 01:25:24

标签: mysql

我在ubuntu服务器上安装了mysql而没有指定密码。当我做的时候

mysql -u root -p 

它会提示输入密码而不提供任何输入我只需点击输入就可以了。

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

mysql -u root -p'' my_database

但这也不起作用。

有什么建议吗?

7 个答案:

答案 0 :(得分:70)

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

答案 1 :(得分:20)

尽量不要求mysql提示输入密码'mysql -u myuser'。我建议您创建一个只具有所需权限的帐户来执行此操作。还限制其对localhost的访问权限。在root上输入密码。

答案 2 :(得分:12)

  

我在ubuntu服务器上安装了mysql而没有指定密码。什么时候   我做了

mysql -u root -p

-p会显示密码提示。如果您没有密码,那么您不希望这样做。

只需写下:

mysql -u root

为了爱上帝,请在该帐户上获取密码!

答案 3 :(得分:3)

要在命令中传递密码,请使用-p$PASSWORD。在以下示例中,用户/密码为root / root:

mysql -proot -D my-db -u root -h 127.0.0.1 -e "select * from my_table"

重要提示:请注意,-p-proot中的密码之间没有空格

答案 4 :(得分: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密码。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

  1. Set a password(例如使用SET PASSWORD)
  2. 将密码添加到~/.my.cnf
  3. 如果您需要更合理的身份验证选项,我建议使用Postgres。