我这里是ubuntu16.04.1系统,使用xampp集成环境
首先我们停止mysql启动
/opt/lampp/bin/mysql.server stop
然后查找my.cnf文件中添加skip-grant-tables
find / -name my.cnf
查找到my.cnf文件的路径使用vi打开编程添加skip-grant-tables 保存退出,如图下所示,#已经注释了
重新启动数据库
/opt/lampp/bin/mysql.server start
进入数据库,这时候不需要密码可以登录了
/opt/lampp/bin/mysql -p
修改密码
在mysql命令行下执行以下命令修改root密码:
update mysql.user set password=password('newpassword') where user='root'
#将password()中的newpassword字符更改为你自己的密码
最后修改密码成功后,停止mysql数据库,/opt/lampp/bin/mysql.server stop在次进入my.cnf文件中注释skip-grant-tables打开重新启动数据库生郊,可以使用新的密码登录。
新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入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' ;即可