在ubuntu ec2实例中拒绝访问用户时如何重置root密码

Posted

技术标签:

【中文标题】在ubuntu ec2实例中拒绝访问用户时如何重置root密码【英文标题】:How to reset root password when denied access to user in ubuntu ec2 instance 【发布时间】:2020-08-07 23:54:49 【问题描述】:

我已经在 ubuntu ec2 实例上安装了phpmyadminPhpmyadmin 页面显示在首页,但我收到拒绝访问 root 用户的错误。我已经在安装过程中为 root 设置了密码,但是当我尝试使用 mysql -u root -p 登录时,我收到错误 access denied for user 'root@localhost' (using password: YES)。如何设置 root 密码以便登录 phpmyadmin?

【问题讨论】:

【参考方案1】:

您可以按如下方式更改root用户的密码:

1.- 停止Mysql服务

         service mysqld stop

好吧:

        /etc/init.d/mysqld stop

2.- 使用以下命令以开放模式启动 MySQL 服务:

      mysqld_safe --skip-grant-tables --skip-networking &

3.- 一旦 MySQL 启动,您必须使用用户“root”访问它。为此,您可以简单地做到这一点:

      mysql -u root

4.- 进入 MySQL 后,您必须访问 MySQL 数据库,您必须在此处更改密码:

   mysql> use MySQL;

5.- 在 MySQL 数据库中,您可以启动以下查询来更改密码:

    mysql> UPDATE user SET password = PASSWORD ('password') WHERE user = 'root';

6.- 完成后,您将能够离开 MySQL 服务器:

    mysql> exit

7.- 最后,您必须重新启动 MySQL 服务,以便它以正常模式启动:

    service mysqld restart

好吧:

 /etc/init.d/mysqld restart

完成前面的步骤后,你就已经修改了MySQL“root”用户的密码了。

【讨论】:

谢谢。但是当我尝试使用“mysqld_safe --skip-grant-tables --skip-networking &”时,它会显示错误,即 mysqld_safe 记录到“/var/log/mysql/error.log”。 /usr/bin/mysqld_safe: 144: 无法创建 /var/log/mysql/error.log: Permission denied 2020-04-24T12:48:51.000160Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don'存在。 /usr/bin/mysqld_safe: 144: 无法创建 /var/log/mysql/error.log: 权限被拒绝 是的,我做到了,但它不起作用。 “mysqld”不工作。

以上是关于在ubuntu ec2实例中拒绝访问用户时如何重置root密码的主要内容,如果未能解决你的问题,请参考以下文章

Amazon EC2 实例“权限被拒绝(公钥)”

尝试从其他计算机访问 ec2 时 ssh 权限被拒绝(公钥)

尽管用户角色,AWS Batch 作业在 S3 上被拒绝访问

如何访问在 AWS EC2 Ubuntu 的本地主机上运行的 Parse 服务器?

ssh - Amazon EC2 上的权限被拒绝(公钥)

如何将 EC2 用户从 ubuntu 更改为 mongodb?