ubuntu 更新mysql后无法登陆_ubuntu12.04 安装mysql 数据库和新用户无法登录

在安装MySQL并尝试创建新用户nova时遇到权限问题,表现为使用新密码无法登录。检查发现mysql.user表中存在匿名用户记录干扰。删除匿名用户后,仍需重启mysql服务才能使新用户成功登录。理解MySQL的用户权限匹配机制对于解决此类问题至关重要。
摘要由CSDN通过智能技术生成

安装命令:

apt-get -y install mysql-server python-mysqld

中间会提示输入root用户名密码

ok

新建用户无法访问:

CREATE DATABASE nova;

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$MYSQL_PASS';

mysql -unova -ppassword 登录,提示无法登录:

ERROR 1045 (28000): Access denied for user 'nova'@'localhost' (using password: YES)

原因:

mysql.user 表中有另外一些记录产生了作用,最有可能的就是已经有一条''@localhost记录,就是用户名是空,主机字段是localhost的记录。” 影响了。查看该表果然有。

mysql> select Host,User,Password from user;

+-------------+----------------------+-----------------------------------------------------------------------+

| Host         | User                     | Password                                                                         |

+-------------+----------------------+-----------------------------------------------------------------------+

| localhost  | root                      | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |

| mars        | root                      | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |

| 127.0.0.1 | root                      | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |

| ::1            | root                      | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |

| mars        |                             |                                                                                           |

| localhost  | debian-sys-maint | *0FDD7F022845BD90AB175D2E5295F86A42FD107B   |

| %             | nova                     | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |

+-------------+-----------------------+----------------------------------------------------------------------+

但是删除那些为空(匿名)的用户后仍然无法登录。要重启一个mysql 服务。

sudo service mysql restart

退出后可以成功用nova登录了。

mysql参考手册解释:

其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。请注意monty的两个账 户必须能从任何主机以monty连接。没有localhost账户,当monty从本机连接时,mysql_install_db创建的 localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比'monty'@'%'账户更具体, 这样在user表排序顺序中排在前面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值