最近在开发一个小说网站的项目,在服务器系统方面,我升级到了Ubuntu 20.04.3,当然其他的配置也需要升级,比如MySQL,升级到8.0版本。如果你之前未曾尝试过这样的配置,您可能会遇到跟我一样的问题,我们今天来一下分析下。
关于遇到的问题,本人介绍两点,就是安装过程中设置MySQL的数据库密码和如何初始MySQL密码。接下来逐步解析。
设置MySQL的数据库密码
在CMS方面,我用的是node后台。在之前旧版本MySQL里,安装 MySQL 数据库的时候,都会提示你设置密码,如下设置:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx2022';
密码就是xxx2022。但是在MySQL8.0里,你安装完成后,会自动给你设置好一个默认的账号和密码,不会提示。
当时我安装的时候,不知道这个问题,所以导致后面一直安装CMS失败,提示数据库连接失败。我折腾了一会,最后发现数据账号和密码已经跟旧版本数据库不一样的设置了。这个时候,需要通过命令去查询默认新建数据库的账户和密码,请执行如下命令:
sudo cat /etc/mysql/debian.cnf
结果显示:
从上图,我们看看到默认新建的数据库账号和密码。这个时候,我们需要用这个数据库重新装下CMS,就可以了。到此,问题一就解决了。
如何初始MySQL密码
如果您忘记了密码,可以初始化或者修改下密码,操作如下:
第一步:查看密码:
在初始执行sudo cat /etc/mysql/debian.cnf
,查看user和password,显示结果如上图。
第二步:登录MySQL
这个时候,我们再执行mysql -u debian-sys-maint -p
,登录MySQL:
第三步:执行如下命令
use mysql;
注意: 在MySQL8.0以后的版本更改密码要使用Alter的方式, 而且要指定mysql_native_password
ALTER USER 'root'@'localhost'IDENTIFIED WITH mysql_native_password BY 'xxx2022';
改完后,我们执行:
quit;
之后重启MySQL,可以执行命令:
sudo service mysql restart
以root登录mysql -u root -p
, 密码就是我们之前设的。
到此为止,密码初始化就完成了。