解决方法 : 修改my.cnf配置文件,在【mysqld】部分添加 skip-grant-tables(免密登陆)
它的意思是mysql不用密码就可以登录
具体步骤:
1.找到 my.cnf修改文件(一般在)etc目录下
2.vi my.cnf 进入my.cnf 文件后,找到【mysqld】 通过 i 命令 在 其下面输入 skip-grant-tables,修改完成后,通过esc键退出修改模式,
输入:wq 命令 保存并退出 my.cnf 文件。
3: service mysqld restart 重启数据库,此时我们就可以不用密码登陆数据库了
4. 我们可以修改数据库的密码(注意修改完成后要进入my.cnf文件 将skip-grant-tables删除,然会退出保存,重启数据库,自此密码就修改完成了)
备注:通过免密码登录的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以更改语句替换为update MySQL.user set authentication_string=password('root') where user='root' ;即可