在Ubuntu中安装MySQL时,默认情况下,安装过程会提示你设置一个root用户的密码。如果你在安装过程中没有被提示设置密码,则可能安装的是无密码的MySQL服务器,或者默认配置的其他方式。
检查MySQL版本
首先,确定你安装的是哪个版本的MySQL:
mysql --version
修改MySQL root密码
MySQL 5.7及更新版本
-
登录到MySQL:
如果你还没有设置过root密码,你可以通过以下方式登录:sudo mysql
-
修改root密码:
登录后,使用以下命令修改root密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; FLUSH PRIVILEGES;
-
退出MySQL:
EXIT;
MySQL 8.0及更新版本
-
登录到MySQL:
如果你还没有设置过root密码,你可以通过以下方式登录:sudo mysql
-
修改root密码:
登录后,使用以下命令修改root密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new_password'; FLUSH PRIVILEGES;
-
退出MySQL:
EXIT;
设置或重置root密码
如果你在安装过程中没有设置root密码,或者你需要重置root密码,可以按照以下步骤操作:
-
停止MySQL服务:
sudo systemctl stop mysql
-
启动MySQL服务器并绕过权限表:
sudo mysqld_safe --skip-grant-tables &
-
登录到MySQL:
由于MySQL在绕过权限表的模式下启动,你可以无需密码登录:mysql -u root
-
修改root密码:
根据你的MySQL版本,执行以下命令之一:-
MySQL 5.7及更早版本:
USE mysql; UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;
-
MySQL 8.0及更高版本:
USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;
-
-
退出MySQL:
EXIT;
-
重新启动MySQL服务:
sudo systemctl start mysql
通过这些步骤,你可以成功修改MySQL root用户的密码,并确保你的MySQL服务器安全。