mysql5.7 auth

    科技2023-11-03  91

    登录mysql后,分析存储登录信息的user表,分析下为何root之前登录失败。

    use mysql

    show tables;

    select host,user,authentication_string,plugin from user;

    不难看出,root这个用户的密码串为空,校验plugin方式为“auth_socket”,查阅mysql官方文档(https://dev.mysql.com/doc/refman/5.7/en/socket-pluggable-authentication.html#socket-pluggable-authentication-usage),

    对 auth_socket 校验方式的说明如下:

    auth_socket方式下,client端通过socket方式访问mysql,server端通过socket file的方式校验,对client端的username进行校验即可,也就是说,这种方式不是本地密码登录使用的。

    因此,将该方式修改为“mysql_native_password”,并配置root的登录密码,即可使用root用户本地密码的方式进行mysql访问。

    ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘test’;

    Processed: 0.018, SQL: 8