转载 | ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Linux环境解决Mysql权限不足
以下方法亲测好使,鉴于版本的多样性,如果解决不了,请百度, Linux 环境相关的解决 Mysql 权限不足还是很多文章的。方法操作很简单,如下:# /etc/init.d/MySQL stop# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &# mysql -u root mysql# mysql>use mysql ;mysql> UPDATE user SET Password=PASSWORD('newpassword')where USER='root'and host='root'or host='localhost';//把空的用户密码都修改成非空的密码就行了。mysql> FLUSH PRIVILEGES;mysql> quit # /etc/init.d/mysqld restart# mysql -uroot -pEnter password:<输入新设的密码newpassword>
Windows环境解决Mysql权限不足
Windows 的环境下,这个错误解决方案还是很少,一搜索基本都是 Linux 环境下的解决教程。 Windows 下面解决也很简单,但是就是资料少。第一步 停止Mysql服务 :
停止 Mysql 服务,停止命令为:net stop mysql ,启动命令为:net start mysql 。 第二步 修改Mysql配置文件:
进入到Mysql 的bin 目录下找到 Mysql 的配置文件。如下图: 第三步 添加配置信息skip-grant-tables
打开文件,然后添加 skip-grant-tables(很重要)第四步 重新启动Mysql
保存后在原来的CMD 窗口启动 Mysql , 启动命令为:net start mysql 。 进入到 mysql 的安装目录,我的是: E:\mysql-5.6.35-winx64 。 再输入: mysql -u root -p ,然后输入你的密码。然后回车。应该就提示成功了。 - 通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。
- 执行“use mysql;”,使用mysql数据库。
- 执行“update user set password=PASSWORD("123456") where user='root';”(修改root的密码)
- 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
- 重启MySQL服务(net stop mysql ==》 net start mysql)。
- 在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。
第五步 修改Mysql密码
执行sql语句:UPDATE USER SET PASSWORD=PASSWORD('换成你的密码') WHERE USER='root';
第六步 刷新数据库配置(重要)
进行到第五步,你这个时候测试,随便输入什么密码都会成功链接。flush privileges;
flush privileges; 刷新即可,后面有分号。 然后退出:quit 这个时候你再链接你的数据库,并且是新设置的密码。 本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。