在 Linux(例如 Ubuntu Server/CentOS)上安装 MySQL 是非常简单的事。正常情况下,安装过程会提示输入用户名和密码,但也有一些时候没有出现,于是我们就需要手动修改初始密码。
假设当前 MySQL 已经安装好,且已经启动(可通过下方命令启动、停止和重启 MySQL)。
# Ubuntu/Debian/Deepin
sudo service mysql start
sudo service mysql stop
sudo service mysql restart
# Red Hat/CentOS
sudo systemctl start mysqld
sudo systemctl stop mysqld
sudo systemctl restart mysqld
首先尝试空密码登录,提示输入密码时直接按回车:
mysql -uroot -p
如果无法登录,可找到随机生成的账号和密码(以 Ubuntu Server 为例,其他系统可自行搜索):
sudo cat /etc/mysql/debian.cnf
其中 user 和 password 后面的字符串就是随机生成的用户名和密码:
使用该用户登录 MySQL:
mysql -u debian-sys-maint -p
接着就是更新用户密码:
# MySQL 8 之前的版本
mysql> use mysql;
mysql> update user set password=password('新密码') where user='用户名';
或者
mysql> update mysql.user set authentication_string=password('新密码') where user='用户名';
mysql> flush privileges; --刷新MySQL的系统权限相关表
mysql> exit;
# MySQL 8 之后的版本
mysql> use mysql;
mysql> ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
mysql> flush privileges; --刷新MySQL的系统权限相关表
mysql> exit;
最后用修改后的用户名和密码尝试登录看是否修改成功。