编辑mysql的配置文件/etc/mysql/my.cnf,在[mysqld]段下加入一行“skip-grant-tables”。
重启mysql服务
yxj @yxj:~$ sudo service mysql restart
用空密码进入mysql管理命令行,切换到mysql库。
yxj @yxj:~$ mysql Welcome to the MySQL monitor. Commands end with ; or \g. mysql> use mysql Database changed
执行update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost';把密码重置为123456。退出数据库管理。
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost'; Query OK, 0 rows affected (0.00 sec) Rows matched: 4 Changed: 0 Warnings: 0
mysql>update user set plugin="mysql_native_password"; mysql>flush privileges; mysql>quit;回到sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf,把刚才加入的那一行“skip-grant-tables”注释或删除掉。
再次重启mysql服务sudo service mysql restart,使用新的密码登陆,修改成功。
yxj @yxj:~$ mysql -uroot -pnew_pass Welcome to the MySQL monitor. Commands end with ; or \g. mysql>
mysql>mysql -u root -p 再次登录