食用指南:
框架使用过程中的问题首先要注意版本发布时间造成方法弃用
当你在CSDN等网站查找不到最新版本框架的问题解决,别迟疑,马上去Goole
语言问题比框架问题好解决
如果本篇debug博客解决了你的问题,不妨留下你的👍
欢迎关注博主,查看更多c/c++/JAVA/算法/框架知识
框架/语言:
- mysql
问题描述:
- mysql中刚创建的用户,无法登录
- 创建用户过程:
create user 'username'@'ip' identified by 'password' //创建用户
grant all on 库名.* to 'username'@'ip'; //针对具体库赋予访问权限
flush privileges; //刷新设置
- 登录错因:
解决方案:
问题原因:
本地登录:
-
本地登录:云服务器连接自己的数据库时,默认使用的IP是127.0.0.1
-
结局已经知道:
ERROR 1045 (28000): Access denied for user ‘username’@‘localhost’ (using password: YES)
网络登录:
- 在windows下的cmd窗口,远程登录云服务器上的mysql用户
mysql -u 用户名 -h公网IP -p
回车后输入密码
- 发现网络可以登录:
- 而且可以查到给该用户放开权限的数据库:
解决方案:
- 登录mysql的root用户
mysql -u root -p
//输入密码
- 创建一个同名用户,但是@localhost
create user '同用户名'@'localhost' identified by '最好同密码';
- 将本地登录不上的用户内的所有数据库权限赋予新的同名用户
grant all on 数据库.* to '同用户名'@'localhost';
flush privileges;
- 本地登录试试看
mysql -u用户名 -p
#回车输入密码
- 发现可以登录了,且可见的数据库和原用户一样
原理:
- 新建的用户虽然绑定的ip是通配符%,但是由于mysql的bug,不能通配localhost
- 手动再创建一个同名同密码的用户,只绑定localhost的IP
- 将两个用户对几个数据库的权限设置相同,
此时,虽然用户有两个,但是同一数据库只有一个。
达到了类似进程之间使用命名空间通信的效果
安利时间:
-
如果本篇博客解决了你的问题,不妨留下你的👍
让博主知道原来也有小伙伴在同一个坑摔倒了啊hh
-
欢迎关注大二的博主,在学习C/C++/JAVA/算法/框架的路上作伴