操作系统:ubuntu 24.04
mysql版本8.0
用apt安装后,执行 mysql -uroot 出现Access denied for user 'root'@'localhost'
因为不知道安装时候生成的密码是多少(有人说可以从log里看到,我没有找到,可能是方法不对。),现在需要重置root密码。
先进入/etc/mysql/mysql.conf.d ,编辑mysqld.cnf,在[mysqld]段,插入一行skip-grant-tables
如下图

保存之后,用命令
sudo service mysql restart
重启mysql
这个时候就可以不用密码直接用 mysql -uroot进入mysql
进入之后执行以下命令:
flush privileges;
alter user 'root'@'localhost' identified by 'Mypwd1234';
flush privileges;
一定要先执行flush privileges,原因你试一下就知道了。
然后编辑mysqld.cnf,注释掉skip-grant-tables
保存之后,用命令
sudo service mysql restart
重启mysql
就可以用刚才修改的密码登录mysql了

被折叠的 条评论
为什么被折叠?



