错误如下:1045 Access denied for user 'root'@'localhost' (using password:YES)
目前成都创新互联已为数千家的企业提供了网站建设、域名、雅安服务器托管、网站托管运营、企业网站设计、若羌网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
想起来有可是在navicat添加的root@'%'用户,可能密码和现在新版本5.7的加密不同了,导致密码不对.
所以解决方法是更新用户密码.
注意5.7版本密码保存的列是 authentication_string ,密码要用函数password加密.
更新密码的SQL是 update user set authentication_string=password('密码') where user="root";
下面是Windows平台下操作步骤:
配置文件my.ini ,在mysqld下面添加skip-grant-tables,意思是可以直接回车登录,保存退出。重启mySQL,然后运行cmd
输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。
1.切换到mysql数据库:use mysql;
2.给root用户设置新密码,
mysql update user set authentication_string=password('密码') where user="root";
3.刷新数据库mysql flush privileges;
4.再修改my.ini,把刚加入的"skip-grant-tables"这行删除或者添加#注释,保存退出再重启mysql服务就可以了。
一些参考命令
#删除之前配置 drop user 'root' @ '%' ;
#配置远程登录 CREATE USER 'root' @ '%' IDENTIFIED BY password( '你的密码') ;
#授权 GRANT ALL ON *.* TO 'root' @ '%' ;
#更新权限 flush privileges;
#查看用户,主机,加密方法 select user,host,plugin from user;
MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器:\x0d\x0asafe_mysqld --skip-grant-tables\x0d\x0a即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。\x0d\x0a需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效\x0d\x0a先找到mysql.server 然后停止mysql服务\x0d\x0a# mysqld_safe --skip-grant-tables --skip-networking \x0d\x0a# mysql\x0d\x0ause mysql;\x0d\x0aupdate user set password=PASSWORD("new-password") where user="root";\x0d\x0aflush privileges;
phpmyadmin登陆出现无法登录MySQL是设置错误造成的,解决方法为:
1、首先打开运行命令窗口,可以通过按住windows键+R的组合键来实现,输入cmd,然后按下回车键。
2、这样就进入了doc的命令窗口。
3、切换到我们安装mysql的盘符。
4、然后再切换到mysql的bin目录。
5、输入mysql -uroot -p。
6、提示输入密码。
7、输入mysql密码之后,然后按下回车键,出现welcome的字样表示登陆成功。