1.
vi /etc/my.cnf(我的在/etc/mysql/my.cnf中)
#编辑文件,找到[mysqld],在下面添加一行skip-grant-tables,已安全模式进入
31 [mysqld]
32 #
33 # * Basic Settings
34 #
35 user = mysql
36 pid-file = /var/run/mysqld/mysqld.pid
37 socket = /var/run/mysqld/mysqld.sock
38 port = 3306
39 basedir = /usr
40 datadir = /var/lib/mysql
41 tmpdir = /tmp
42 lc-messages-dir = /usr/share/mysql
43 skip-external-locking
44 skip-grant-tables #新加
:wq! #保存退出
service mysqld restart #重启MySQL服务
2、进入MySQL控制台
mysql -u root -p #直接按回车,这时**不需要**输入root密码。
3、修改root密码
mysql> update mysql.user set password=password('修改后密码') where User="root" and Host="localhost";
mysql> flush privileges; #刷新系统授权表
mysql> grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;
4、取消/etc/my.cnf中的skip-grant-tables
vi /etc/my.cnf 编辑文件,找到[mysqld],删除skip-grant-tables这一行
:wq! #保存退出
5、重启mysql
service mysqld restart #重启mysql,这个时候mysql的root密码已经修改
6、进入mysql控制台
mysql -uroot -p #进入mysql控制台
* #输入新密码
至此,linux下忘记mysql root密码教程结束。