对于这个错误网上很多解决方案,而对于一些说mysql5.6或5.7以上没有my.ini文件导致很多人都只认定my-default.ini这个文本,下面解决方案转自 xyh鸿(稍微修改方便各位查看到非默认目录)
1.打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。(Win10默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 5.7)也可以在服务中找到mysql右键属性看到--defaults-file=该字段,更具该字段后面的目录进行查找
2. 重启MySQL57和MySQL Router服务。通过命令行窗口进入MySQL的bin目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。(Win10默认安装,bin目录为:C:\Program Files\MySQL\MySQL Server 5.7\bin)也可以通过服务中的MySQL右键属性根据最前面的目录进行查找
3. 执行“use mysql”,使用MySQL数据库。执行“ update user set authentication_string=PASSWORD("此处请输入您要设定的密码") where user='root';” 注意密码格式:至少包含一个大写字母、一个小写字母、一个数字,密码长度至少为8个字符。
4. 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
5. 重启MySQL57和MySQL Router服务。在命令行中输入“mysql -u root -p”,回车,然后输入您设置的密码即可成功连接数据库。(如:敲个 show databases;