出现这个错误的原因是: root帐户默认不开放远程访问权限,所以需要修改一下相关权限。
解决方案:
1.打开MySQL目录下的my.ini文件,在文件的中间添加一行“skip-grant-tables”,保存并关闭文件。
WIN7默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6
linux在 /etc/my.cnf
2. 重启MySQL服务。 servicr mysql restart
3. mysql -u root -p 出现要输入命令 不用管它 回车
4. 执行“use mysql;”,使用mysql数据库。
5. 执行“update user set password=PASSWORD("123456") where user='root';”(修改root的密码)
修改时如果提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',
是mysql数据库下已经没有password这个字段了,password字段改成了 authentication_string
所以更改语句替换为update mysql.user set authentication_string=password('root') where user='root' ;
6. flush privileges;
7.quit 退出mysql
8. 打开MySQL目录下的my.ini文件,删除刚开始加入的“skip-grant-tables”,保存并关闭文件。
重启MySQL服务。
在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。