mysql无密码登录

mysql无密码登录

转载请注明出处:https://youngrichog.github.io/

今天ubuntu在装mysql的时候,发现装完使用mysql -u root -p,密码随便写/空都可以直接登录,后面在配数据库配置的时候,发现虽然我修改了root的密码,但是还是连接不上,去数据库一看mysql.user表,root对应的password为空,后面才发现是由于auth_socket插件导致的。

  • 首先,这种验证方式不要求输入密码,即使输入了密码也不验证。
  • 只能用 UNIX 的 socket 方式登陆,这就保证了只能本地登陆,用户在使用这种登陆方式时已经通过了操作系统的安全验证;
  • 操作系统的用户和 MySQL 数据库的用户名必须一致,例如你要登陆 MySQL 的 root 用户,必须用操作系统的 root 用户登陆。
1
2
mysql> select user,host,plugin  from mysql.user; //查看使用的插件
mysql> update user set plugin="mysql_native_password" where user='root'; //修改插件

简单记录下