装完 ubuntu 后,使用命令安装 mysql 时一般默认安装的都是最新版本也即 mysql 8.0.27 ;针对 mysql 8.0.27 用户名和密码修改,我反复操作,在网上也搜集了大量的资料,最终都是无功而返,挣扎了一下午,最终解决了问题;
之所以浪费一下午时间,主要是因为我没有弄清 mysql 版本和修改语法的关系,然后在网上一通搜索、胡乱尝试,最终也没能解决问题;
二者关系:安装的 mysql 版本不同,在修改用户名和密码时使用的语法语句也会有所差别;所以在使用 ubuntu 命令安装好 mysql 后记得查看其版本;所以说解决问题还是要抓住问题的本质;
参考文章:mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法 - 丹华抱一鷇音子 - 博客园
MySQL 彻底卸载:CSDN
下面针对 Ubuntu 20.04 + mysql 8.0.27 用户名和密码修改 整理出了一套教程:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
mysql -V; # 注意 V 是大写
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
(1)在 [mysqld] 最后一行加入: # skip-grant-tables <-- add # here
(2)然后点击 ESC ,输入 ‘ :wq ’ 进行保存和退出;如下图所示;
说明:修改完配置文件后需要重新启动 mysql ,否则后续无法登录 mysql;
注:如果不修改 mysqld.cnf 配置文件,修改完 MySQL 的用户名和密码后,在进入 MySQL 时可能会有如下错误,即语法错误拒绝被访问:
sudo cat /etc/mysql/debian.cnf
mysql -u debian-sys-maint -p # 换行后输入上述查到的密码
use mysql;
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';
flush privileges;
quit;
service mysql restart
mysql -u root -p # 回车后输入自己修改后的密码即可
至此,MySQL 用户名和密码修改成功;
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者