mysql删除了root用户怎么登陆
时间: 2024-02-19 15:59:13 浏览: 108
如果 MySQL 中删除了 root 用户,你可以按照以下步骤来创建一个新的管理员用户并使用它来登录:
1. 以 sudo 身份运行以下命令来停止 MySQL 服务:
```
sudo systemctl stop mysql
```
2. 以跳过授权表的方式启动 MySQL:
```
sudo mysqld_safe --skip-grant-tables &
```
3. 以 root 身份使用以下命令连接到 MySQL:
```
mysql -u root
```
4. 运行以下命令来创建一个新的管理员用户,例如用户名为 new_admin,密码为 new_password:
```
GRANT ALL PRIVILEGES ON *.* TO 'new_admin'@'localhost' IDENTIFIED BY 'new_password' WITH GRANT OPTION;
```
5. 退出 MySQL:
```
exit;
```
6. 停止 MySQL 服务:
```
sudo systemctl stop mysql
```
7. 重新启动 MySQL 服务:
```
sudo systemctl start mysql
```
现在,你可以使用新创建的管理员用户 new_admin 来登录 MySQL 了。
相关问题
mysql root密码过期无法登陆
如果MySQL的root密码过期无法登陆,可以通过以下步骤重置密码:
1. 在MySQL配置文件中添加一行skip-grant-tables,使MySQL跳过密码验证。
2. 重新启动MySQL服务。
3. 以不需要密码验证的方式登陆MySQL。
4. 重置root用户的密码。
5. 在MySQL配置文件中删除skip-grant-tables行。
6. 重新启动MySQL服务。
以下是具体的命令和步骤:
1. 在MySQL配置文件中添加一行skip-grant-tables:
```
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
```
在[mysqld]节下添加一行:
```
skip-grant-tables
```
2. 重新启动MySQL服务:
```
$ sudo service mysql restart
```
3. 以不需要密码验证的方式登陆MySQL:
```
$ mysql -u root
```
4. 重置root用户的密码:
```
mysql> use mysql;
mysql> update user set authentication_string=password('new_password') where user='root';
mysql> flush privileges;
mysql> quit;
```
5. 在MySQL配置文件中删除skip-grant-tables行:
```
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
```
删除skip-grant-tables行。
6. 重新启动MySQL服务:
```
$ sudo service mysql restart
```
linux系统mysql跳过密码登陆操作登陆设置
1. 编辑 MySQL 配置文件 my.cnf
sudo vi /etc/my.cnf
2. 在 [mysqld] 下添加 skip-grant-tables
[mysqld]
skip-grant-tables
3. 重启 MySQL 服务
sudo systemctl restart mysqld
4. 使用 root 用户无需密码登录 MySQL
mysql -u root
5. 修改 root 用户密码
use mysql;
update user set authentication_string=password('新密码') where user='root' and host='localhost';
flush privileges;
6. 删除 my.cnf 中 skip-grant-tables,重启 MySQL 服务
sudo systemctl restart mysqld
7. 使用新密码登录 MySQL
mysql -u root -p
阅读全文