mysql 用root登陆之后, 创建了用户发现是不能登陆的
error: win10下MySQL 8.0登录Access denied for user 'root'@'localhost' (using password: YES)
先普及一下:
这里的 主机 : “%” 表示可以远程登陆。 “localhost” 表示 之能在本机登陆
一番搜索发现好多连root 都登陆不上,那只好采用网上说的 在 my.ini 文件 里边 添加“skip grant tables” 跳过授权 先直接登陆的方法了。 我的问题的是 root 可以正常登陆,但是 创建的普通用户怎么都登陆不上,排除密码错误的问题,但是查询网上的多数说的是密码不正确(最终我也是通过修改密码解决的问题,但是我不认为是密码错误的问题,具体什么问题我也不清楚)
解决: 用root 登陆: mysql -uroot -proot
执行命令: ALTER USER 'whx'@'%' IDENTIFIED BY '111111' PASSWORD EXPIRE NEVER;
注: whx 是用户名 即 'whx' @ '%' (至于这里是 % 还是 localhost 要看如上述 该用户的 主机配置的值了,一定不能写错,我就是因为疏忽了 这个fuck主机 执行命令的时候报错,搞了我好一会,才发现这个问题 , 错误如下,)
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql -utest -p111111
修改过用户名之后 , 一切恢复正常,一切井然有序。what a fuck!
总结: 经过网上索罗, 发现类似问题很多,看似都有些小的区别,(什么 改my.ini 归根目的都是要修改密码 )但是 如果报了(error: win10下MySQL 8.0登录Access denied for user 'root'@'localhost' (using password: YES)) 这个错误, 不管他fuck是不是密码错误的问题, 总之,在命令行下边修改密码后,一般问题可以解决。
需要注意的就是 ,一个修改密码, 一个 就是修改密码的时候, 注意那个 【主机值 % or localhost 】 填写正确即可。