Ubuntu16修改mysql数据库root用户密码

2017/2/12 mysql

在使用虚拟机的时候一不小心把mysql的root用户密码给忘了,只能一步步把密码给改掉了。

1.结束当前mysql进程

#sudo service mysql stop

2.修改mysql的登录方式,用mysql安全模式运行并跳过权限验证。

#sudo  /usr/bin/mysqld_safe --skip-grant-tables

或者编辑#sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf这个文件,在红线处添加skip-grant-tables内容,然后使用sudo service mysql start启动mysql。

mysqld.cnf

个人觉得还是编辑文件的方式比较好,不知道为什么我使用命令行好像会让命令变得有些迟钝的感觉。这个地方需要注意找一下这个文件是在什么地方,不同版本可能在的地方有所不同。

3.进入mysql数据库并修改用户密码

#mysql -u root

这个时候不需要密码就能直接进入mysql数据库里面。

mysql>use mysql;

使用mysql数据库,然后更新root用户的密码。

mysql>update mysql.user set authentication_string=password('password') where user='root' and Host ='localhost';

当我们如果发现有问题的时候,可能输user表的结构变了,可以看一下user表有哪些字段,这样可以把authentication_string改为password之类的字段就行了。

mysql> flush privileges;

mysql>quit;

4.结束mysql进程,然后重新开始mysql进程

如果是只使用命令行的话只要相当于是重启mysql进程就行了,如果是修改文件的话,需要先把文件中添加的那行注释掉或者删掉,然后在重启mysql。

5.登录mysql

#mysql -u root -p

这时候输入刚刚修改的密码就可以了。