mysql新安装要求root密码

几年前,我试图在我的Mac上安装Apache,PHP和MySQL。 我得到了所有的工作,但最终我厌倦了在命令行上做所有事情,所以切换到mamp

现在我厌倦了麻烦的麻烦,想要更好地使用命令行。 我试图设置它我自己(以及与Mac端口),但我忘记了mysql root用户的密码。 没有什么大问题,没有我需要的数据,我只需重新安装。

我卸载了mysql,重新安装了mysql并运行:

sudo -u _mysql mysql_install_db5 /opt/local/share/mysql5/mysql/mysql.server start

所有工作正常,但做mysqladmin5 -u root -p ping询问我一个密码和mysqladmin5 -u root ping不工作。

从dev.mysql.com/doc/refman/5.1/en/default-privileges.html:

mysql.user授权表定义了最初的MySQL用户帐户及其访问权限:

某些帐户具有用户名root。 这些超级用户帐户拥有所有权限,并且可以执行任何操作。 初始的root帐户密码是空的 ,所以任何人都可以以root的身份连接到MySQL服务器,而不需要密码,并且被授予所有权限。

可以在这里find重置root密码的指导。

问题是我没有一个root用户重置密码来修复做:壳牌:

 /opt/local/share/mysql5/mysql/mysql.server stop
 /opt/local/share/mysql5/mysql/mysql.server start --skip-grant-tables

MySQL的:

用户mysql;
插入用户(Host,User,Password)值('localhost','root','');
更新用户设置Select_priv ='Y',Insert_priv ='Y',Update_priv ='Y',Delete_priv ='Y',Create_priv ='Y',Drop_priv ='Y',Reload_priv ='Y',Shutdown_priv ='Y' ,Process_priv = 'Y',File_priv = 'Y',Grant_priv = 'Y',References_priv = 'Y',Index_priv = 'Y',Alter_priv = 'Y',Show_db_priv = 'Y',Super_priv = 'Y',Create_tmp_table_priv = 'Y',Lock_tables_priv = 'Y',Execute_priv = 'Y',Repl_slave_priv = 'Y',Repl_client_priv = 'Y',Create_view_priv = 'Y',Show_view_priv = 'Y',Create_routine_priv = 'Y',Alter_routine_priv =” Y',Create_user_priv ='Y'其中user ='root';
出口;

贝壳:

 /opt/local/share/mysql5/mysql/mysql.server stop
 /opt/local/share/mysql5/mysql/mysql.server启动
 mysql -u root

MySQL的:

授予*。*到“root”@“localhost”的所有特权。

更多信息在这里: http : //helpfromfriend.com/database/mysql/how-to-recreate-root-account-in-mysql/

如果您停止mysqld,并使用--skip-grant-tables选项从命令行启动它,则可以以root用户身份login,而不需要密码。 然后你可以设置根密码,你会记得的东西。

 USE mysql; UPDATE user SET `password` = PASSWORD('your new password') WHERE user = 'root'; FLUSH PRIVILEGES; 

尽pipe如此,一定要停止mysqld并在完成之后正常重启,以便客户端再次检查密码。

我不知道mac很好,但是我有与Windows相同的问题。 新鲜的MySQL安装询问我当前的root密码。 对于如何摆脱这个问题的答案是非常简单的,至less对于Windows而言。

首先确保删除您的计算机上的所有MySQL文件夹。 在Windows中,这包括安装目录,但也在XP下的/ All Users / Application Data下,该目录位于C:\ Documents and Settings下。 然后,实际上我从来没有想过这个简单的解决scheme,但Windows添加所有的服务在它的registry。 您可以通过input来摆脱registry中的服务

在这种情况下,在cmd提示符下删除“ServiceName”

sc删除MySQL

也许同样的解决scheme适用于你的MAC。