昨天一切都运转正常。今天当我启动mysql时,它开始给我以下错误消息
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我不知道设置密码的时间和方式。
现在我正在尝试设置密码,但它没有更新密码。
我正在使用以下步骤恢复密码。
C:\ Program Files \ MySQL \ MySQL Server 5.5> mysqld.exe --defaults文件="的my.ini" --init文件=" d:\ MySQL的-init.txt" --console
它开始显示我的进度但在此消息后停止响应
160504 18:01:54 [Note] Server socket created on IP: '0.0.0.0'.
160504 18:01:54 [Note] Event Scheduler: Loaded 0 events
160504 18:01:54 [Note] mysqld.exe: ready for connections.
Version: '5.5.38' socket: '' port: 3306 MySQL Community Server (GPL)
我等了10多分钟,但此后没有显示任何进展..
请指导我如何解决此问题。
谢谢
答案 0 :(得分:1)
按照一步一步更改mySQL root密码。
1)以管理员身份登录服务器。
2)停止MySQL服务或从任务管理器中删除它[mysqld-nt.exe] [如果没有从services.msc工作]。
3)创建一个包含以下语句的文本文件:
UPDATE mysql.user SET Password = PASSWORD(' test @ 123')WHERE User =' root&#39 ;; FLUSH PRIVILEGES;
4)保存文件。对于此示例,该文件将命名为C:\ mysql-init.txt。
5)进入命令提示符:使用--init-file选项启动MySQL服务器。
6)C:> C:\ mysql \ bin \ mysqld-nt --init-file = C:\ mysql-init.txt
答案 1 :(得分:1)
停止mysql服务
/etc/init.d/mysql stop
跳过mysql特权
/ usr / bin / mysqld_safe --user = mysql --skip-grant-tables
打开cmd并编写
MySQL的
现在让我们使用这个命令来使用我们的数据库:
使用MY_DATABASE_NAME;
使用下一个命令更新root用户的字段密码:
更新用户SET密码=密码('我们的密码')WHERE user =' root';
退出命令。
出口
启动新的数据库会话。
mysql -u root -p
答案 2 :(得分:1)
停止mysql服务
修改my.ini
文件或my.cnf
文件
在ini文件中找到[mysqld]
部分,并在[mysqld]
skip-grant-tables
重启mysql服务。
打开MySQL控制台
现在我们要重置root用户的密码,当然这可以用来重置任何用户密码。
在mysql>处输入以下2个命令命令提示符,每行在行尾有一个半冒号,并在每行后按ENTER键向mysql发出命令。
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE user='root';
FLUSH PRIVILEGES;
请注意,更新应报告已更新多行,因为实际上有3个用户帐户的用户ID为&root;' root'每个域都有不同的域,即127.0.0.1,localhost和:: 1
现在在mysql命令提示符下输入quit
以退出mysql。
停止mysql服务
编辑my.ini文件或my.cnf文件
找到ini文件中的{mysqld]部分并删除我们之前添加的skip-grant-tables
参数。
请勿将此参数留在ini文件中作为HUGH安全漏洞。
重启mysql服务。
您现在应该可以使用用户ID&root;'使用phpmyadmin登录以及您刚为该用户设置的新密码。