我用的是mysql5.7版,
在root账户下根本无需密码就能登陆
解决方法:
先切换至root用户,再进入mysql中(命令mysql -uroot)查看问题到底出在哪(此时应该是可以直接输入mysql进入的,不用指定user和passwd):
输入命令 use mysql 查询 select user, plugin from user; 结果: +------------------+-----------------------+ | user | plugin | +------------------+-----------------------+ | root | auth_socket | | mysql.session | mysql_native_password | | mysql.sys | mysql_native_password | | debian-sys-maint | mysql_native_password | +------------------+-----------------------+ 但是可以确定的是,只有将plugin字段更改成mysql_native_password才能利用账户密码登陆,同时root用户下的自动登陆的现象也会取消了:
update user set authentication_string=password('新密码'), plugin='mysql_native_password' where user='root';
需要注意的是,mysql5.7之后user中原本的password字段已经变更为 authentication_string 字段,因此如果按照网上大部分的回答来更改的话也会出现问题。
至此,问题已经基本解决,小小的问题还是花了不少的时间。