前言
尝试全网很多方法,很鸡肋,基本无法重置 mysql57 的密码,下面是切实有效的方法:
出现 mysql 错误 “error 1045 (28000): access denied for user ‘root’@‘localhost’” 通常意味着你尝试以 root
用户身份连接到 mysql 服务器,但提供的密码不正确,或者该用户的访问权限被限制了。以下是一些解决步骤:
1. 重置 mysql root 密码
在 windows 上:
停止 mysql 服务。以管理员身份运行
cmd
,可以在命令行中运行:net stop mysql
或者如果你使用的是 mysql 的服务名(例如
mysql57
):net stop mysql57
不知道服务名,可通过服务查找,
win + r
打开运行,输入services.msc
,找到m
开头服务名这里查出本机的服务名为
mysql57
以无密码模式启动 mysql:
先配置好配置文件
实际路径在c盘
或d盘
的programdata
路径下,文件名叫:my.ini
打开
my.ini
,大致第78行左右配置免密登录再以管理员身份打开cmd
mysqld --skip-grant-tables
打开一个新的命令行窗口,并连接到 mysql:
注意一定要新开一个
cmd
命令窗口,且上面执行的mysqld --skip-grant-tables
的cmd
命令窗口不能关闭!!!mysql -u root
选择
mysql
数据库:use mysql;
重置密码(将
new_password
替换为你想设置的新密码):flush privileges; alter user 'root'@'localhost' identified by 'new_password';
退出并重新启动 mysql 服务。
使用新密码尝试连接:
mysql -u root -p
然后输入你的新密码。执行如下显示
welcome to the mysql monitor……
,恭喜,密码重置成功!
2. 检查用户权限
如果你只是想确认用户权限而不是重置密码,可以尝试查看 root
用户的权限:
select user, host from mysql.user where user='root';
确保 host
列中包含 localhost
或 %
(后者允许从任何主机连接)。
3. 使用正确的用户和主机名
如果你从远程机器连接,确保使用正确的用户和主机名。例如,如果你从远程机器连接,尝试:
mysql -u root -p -h your_server_ip_or_hostname
并确保 root
用户有从该主机连接的权限。
4. 检查防火墙和安全组设置
确保没有防火墙或安全组规则阻止你的连接。检查你的网络设置,确保 mysql 的默认端口(3306)是开放的。
通过以上步骤,你应该能够解决访问被拒绝的问题。如果问题仍然存在,请检查 mysql 的错误日志文件以获取更多详细信息。在 windows 上,错误日志通常位于 mysql 数据目录中,例如 c:\programdata\mysql\mysql server 5.7\data\
。
5. 注册及卸载mysql57服务
a.注册 mysql 为服务
如果想注册 mysql 为服务(以便系统自动管理):
mysqld --install mysql57
然后通过:
net start mysql57
来启动服务。
过程如图:
b.卸载服务(可选)
如果想卸载 mysql57
服务:
先通过:
net stop mysql57
来停止服务。
再执行
sc delete mysql57
来卸载服务。
过程如图:
总结
到此这篇关于mysql重置密码终极版的文章就介绍到这了,更多相关mysql重置密码内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论