针对MySQL5.5版本用%创建用户后在本地(localhost)无法登录的问题
来源:互联网 发布:编程简单的软件 编辑:程序博客网 时间:2024/05/16 05:49
使用MySQL,因为root权限过高,所以考虑新建一用户appadmin,权限仅为要用到的数据库。
创建语句如下,其中@“%”是可以在任何地址登录。 :
mysql>grant select,insert,update,delete on test.* to appadmin@"%" identified by "password";
创建后在mysql库的user表下查看,有该用户。
但是使用“mysql -u appadmin -ppassword” 登录,
提示无法登录:ERROR 1045 (28000): Access denied for user 'appadmin'@'localhost' (using password: YES)
百思不得其解!
经过排查,发现mysql.user 表中有另外一些记录产生了作用,最有可能影响的就是已经有一条''@localhost记录,就是用户名是空,主机字段是localhost的记录。
查看该表果然有,如下:
mysql> select host,user,password from mysql.user;
+-----------+------------------+-------------------------------------------+
| host | user | password |
+-----------+------------------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| mza | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost | | |
| mza | | |
| localhost | debian-sys-maint | *19DF6BF8310D46D681AE072AB73ECEC99C018C19 |
| % | appadmin | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-----------+------------------+-------------------------------------------+
7 rows in set (0.00 sec)
但是删除那些为空(匿名)的用户后仍然无法登录。
(可能是因为没有重启mysql)于是只好耐着性子看mysql参考手册。
发现其中增加用户部分有这么一段话:
其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。
请注意monty的两个账户必须能从任何主机以monty连接。没有localhost账户,当monty从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比'monty'@'%'账户更具体,这样在user表排序顺序中排在前面。
这段话说的很清楚,因此执行
mysql>grant select,insert,update,delete on test.* to appadmin@"localhost" identified by "password";
退出后用appadmin登录,成功。
- 针对MySQL5.5版本用%创建用户后在本地(localhost)无法登录的问题
- 针对MySQL创建用户后无法登录的原因
- MySQL创建用户后本地无法登录的原因
- MySQL创建用户后本地无法登录的原因
- 关于mysql5.7中创建用户无法登录及grant操作无效问题的处理
- 关于centos7中使用rpm方式安装mysql5.7版本后无法使用root登录的问题
- 关于onethink在本地安装后迁移到SAE上后台无法登录的问题
- Fedora10无法在本地使用root用户登录的解决方案
- mysql新建用户在本地无法登录
- ftp本地用户无法登录问题
- 在服务器上创建MQ队列管理器后,本地无法远程连接的问题
- oracle命令创建数据库和表空间以及安装后本地无法登录问题
- 解决Linux系统安装后,root用户无法登录,提示“无法验证用户”的错误问题
- 解决Linux系统安装后,root用户无法登录,提示“无法验证用户”的错误问题
- 针对VC版本及相关库的升级后程序无法运行问题举例说明
- 解决dropbear在busybox中使用无法使用本地用户登录问题
- crowd在更改IP后无法登录的问题
- 阿里云ECS创建vsftpd后,用户无法正常登录
- 欢迎使用CSDN-markdown编辑器
- test
- Mybatis第二次
- ssh: Could not resolve hostname github.com: Name or service not known; fatal: The remote end hung up
- markdown中实现缩进的方法
- 针对MySQL5.5版本用%创建用户后在本地(localhost)无法登录的问题
- ssm 写demo异常记录
- 聚类算法总结
- LeetCode 198. House Robber(必须不连续数组的最大和)
- 剑指offer——字符流中第一个不重复的字符
- Caffe源码解析(一) —— caffe.proto
- 禁用TAB键,兼容谷歌、IE、火狐
- android中使用X5WebView时H5的Video会默认全屏
- Ubuntu-ROS TAB补全错误