mysql设置root用户密码不生效,不输入密码或者输错密码也能访问数据库
后来发现
mysql.user的表中root用户对应的plugin='auth_socket',使用auth_socket插件。该插件不关心密码是否输入正确,它只检查用户是否使用UNIX套接字进行连接,然后查看用户名是否正确。
因此在修改root用户的密码时,应该同时把plugin修改为 'mysql_native_password'
//进入mysql数据库 use mysql; update user set authentication_string=password('my_password'), plugin='mysql_native_password' where user='root';