MySQL没有密码提示?

我有一个MySQL服务器,MySQL根密码是一个空string。 如果我尝试连接到MySQL没有密码,我被拒绝。 喜欢这个:

# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) # mysql -p Enter password: <-- I just hit enter, without typing anything Welcome to the MySQL monitor. Commands end with ; or \g. mysql> 

我怎么能让MySQL连接,而不是先提示我input密码? 我有其他的服务器,我可以连接就好,没有任何密码提示,其他服务器也没有使用.my.cnf文件。

不是说我会鼓励在没有密码的情况下运行MySQL,但是在这种情况下,问题似乎是指定用户/密码选项的mysql命令的shell别名。

通常如果你只运行'mysql',你会得到'访问被拒绝(使用密码:NO)'的错误。 在这一点上,你会意识到你需要通过使用-p选项告诉mysql要求input密码。 (或者用–password = pass直接在命令中指定密码)。

在这个问题的线索是,错误提示使用密码,即使没有直接在命令行上提供密码选项。 如果mysql没有密码,任何提供的密码(甚至空白)都会导致auth失败。

是一个分段风险,但是,如果你添加到你的my.cnf:

 skip-grant-tables 

你可以访问mysql的白名单密码。

最好创build一个/root/.my.cnf文件来访问缺席密码提示