前言
前面跟着网上资源学的Linux视频看了一大半,后面去忙别的事了结果当时新建立的mysql数据库密码给忘了,根据网上的经验总结了一下修改mysql数据库的方式。

解决方案
先停止mysql服务

service mysqld stop

然后编写mysql的配置文件,通过下面命令,进入配置文件当中,在文件末尾加上skip-grant-tables这句话

vim /etc/my.cnf

紧接着输入service mysqld start重启mysql服务,然后直接输入mysql无密码进入数据库,执行对账号密码的修改
首先输入show databases; (记得输入;结尾,否则没有反应输出,并且要第一次就输入正确,假如第一次输入没有带 ; ,即使在下一行重新输入带 ; 的正确语句也会报错。解决方法是输入exit; 返回上一步重新执行。或者在没有分号的show database的下一行直接输入;相当于是接着上一行。)。

show tables;分号别忘了,查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。输入select user,host,password from user;或者select user,host,authentication_string from user; 查看账户信息。


重置mysql密码
执行update mysql.user set password=password('123456') where user='root';,根据版本不同,如果执行上述语句报错,Unkown column “password”in “field list”,原因是新的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,此时需要将上述语句改为如下所示 :

update mysql.user set authentication_string=password('123456') where user='root'and host='localhost';; 
特别提醒:密码改成功后,需将skip-grant-tables给注释掉,否则他人登录该数据库都不需要密码验证了。
vim /etc/my.cnf 进行配置注释,

重启mysql,
执行service mysqld restart
最后再次正常登录mysql即可。