在配置mysql的过程中出现了这样的问题:
在启动Mysql服务后,输入mysqladmin -u root password 1234设置初始密码,显示:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
似乎是因为之前在电脑上已经配置过其他版本的mysql服务器,导致密码已经被设置过
查阅了一众文章后,最终找到了适合windows系统的解决方案
第一步:在有管理员权限的cmd(c盘中的windows-system32中找到cmd,右键以管理员权限运行)下,运行net stop mysql,关闭Mysql服务
第二步:输入:
mysqld --defaults-file="安装路径\my.ini" --console --skip-grant-tables
这里的安装路径填入sql安装时的路径,该路径中包含bin,data文件夹,当然,还有my.ini文件
运行后,应当出现如下结果
第三步:不要关闭该cmd窗口,再打开另一个管理员权限的cmd窗口,并运行mysql -uroot mysql
运行成功后将显示输入mysql命令的界面
(*如果先前设置过了bin的环境变量,可以直接运行,否则需要将cmd转到Bin目录下再运行)
第四步:运行mysql命令:update user set authentication_string=password('123456') where user='root';
此处的123456可替换为新密码
然后运行flush privileges; 刷新权限
最后运行quit; 退出mysql
然后运行mysqladmin -uroot -p shutdown ,输入新密码 退出mysql
再次net start mysql 开启服务,并用net start mysql ,输入密码启动mysql,即可成功登入mysql
参考文案:https://www.cnblogs.com/da19951208/p/6403783.html
来源地址:https://blog.csdn.net/weixin_52026013/article/details/129416268