slowsir 发表于 2019-10-13 22:00:47

mysql密码

为什么ubuntu里面设置了mysql的密码之后登陆mysql数据库还是不需要密码,然后我试了几个错误的密码还是正常进入数据库。

xingkong0214 发表于 2019-12-28 16:32:22

本帖最后由 xingkong0214 于 2019-12-28 16:39 编辑

{:10_256:}mysql的用户认证粒度是 'user'@'host'。mysql安装好默认会创建一个 'root'@'localhost',这个用户是不用密码可以登陆的。

查看数据存在的用户
MySQL [(none)]> SELECT user,host FROM mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| admin         | %         |
| root          | %         |
| root          | localhost |
+---------------+-----------+

上面有两个root用户,但host不一样,表示的是两个不同的root用户。一个是 'root'@'%' ,一个是'root'@'localhost'

manmanpython 发表于 2020-1-15 13:22:21

本帖最后由 manmanpython 于 2020-1-15 13:26 编辑

mysql> select host,user,password from mysql.user;
+--------------+------------------+-------------------------------------------+
| host         | user             | password                                  |
+--------------+------------------+-------------------------------------------+
| localhost    | root             |                                           |
| 706cb4504c90 | root             |                                           |
| 127.0.0.1    | root             |                                           |
| ::1          | root             |                                           |
| localhost    | debian-sys-maint | *DA51BC27B133ADCF8175A6BDCEC96B56358E80AA |
+--------------+------------------+-------------------------------------------+
5 rows in set (0.00 sec)

上面5个用户,除了debian-sys-maint是为了系统连接数据库有密码,其他用户是没有密码的,可以直接登录
你可以尝试进入mysql中查询一下对应的用户是否有密码。
没有密码的话:
mysql5.7.6之前的版本
mysql> SET PASSWORD FOR "root"@"localhost" = PASSWORD("123456");

mysql5.7.6之后的版本
ALTER USER root IDENTIFIED BY 'new_password';
设置密码
页: [1]
查看完整版本: mysql密码