密码更改后,Mysql skip-grant-tables提供访问被拒绝的消息

时间:2018-04-27 12:04:15

标签: mysql

更改mysql密码后,我确实执行了skip-grant-tables,所以当我尝试登录没有密码的mysql时,我无法登录。它提供访问被拒绝的消息。为什么会这样?

以下是我所做的步骤。首先我安装了mysql并更改了密码

1)sudo yum install mysql-community-server
2)sudo service mysqld start
3)sudo grep'临时密码'/var/log/mysqld.log
4)mysql -uroot -p
5)ALTER USER'root'@'localhost'由'MyNewPass4'识别!

然后尝试使用跳过授权表登录 6)sudo service mysqld stop
7)mysqld_safe --skip-grant-tables&
现在我收到了拒绝访问的消息

1 个答案:

答案 0 :(得分:0)

我最近将Ubuntu 16.04升级到了18.04,这对我有用:

  1. 首先,在sudo mysql中连接

    sudo mysql -u root
    
  2. 检查您的数据库中的帐户

    SELECT User,Host FROM mysql.user;
    +------------------+-----------+
    | User             | Host      |
    +------------------+-----------+
    | admin            | localhost |
    | debian-sys-maint | localhost |
    | magento_user     | localhost |
    | mysql.sys        | localhost |
    | root             | localhost |
    
  3. 删除当前的root @ localhost帐户

    mysql> DROP USER 'root'@'localhost';
    Query OK, 0 rows affected (0,00 sec)
    
  4. 重新创建用户

    mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';
    Query OK, 0 rows affected (0,00 sec)
    
  5. 授予用户权限(不要忘记刷新权限)

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    Query OK, 0 rows affected (0,00 sec)
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0,01 sec)
    
  6. 退出MySQL并尝试在没有sudo的情况下重新连接。

这将使您登录。<​​/ p>