sql >> データベース >  >> RDS >> Mysql

ユーザー'[メール保護]'のアクセスが拒否されました(パスワード:NOを使用)

    この種のエラーの場合。管理者としてrootユーザーに新しいパスワードを設定する必要があります。次の手順に従います。

    [root ~]# mysql -u root
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
    
    1. 実行中のmysqlのサービス/デーモンを停止します

      [root ~]# service mysql stop   
      mysql stop/waiting
      
    2. 次のオプションを使用して、権限なしでmysqlを起動します。このオプションは起動に使用され、MySQLの権限システムを使用しません。

      [root ~]# mysqld_safe --skip-grant-tables &
      

    この時点で、端末は停止しているように見えます 。それをそのままにして、次のステップに新しい端末を使用します。

    1. mysqlコマンドプロンプトを入力します

      [root ~]# mysql -u root
      mysql> 
      
    2. rootユーザーの権限設定を修正します;

      mysql> use mysql;
      Database changed
      mysql> select * from  user;
      Empty set (0.00 sec)
      mysql> truncate table user;
      Query OK, 0 rows affected (0.00 sec)
      mysql> flush privileges;
      Query OK, 0 rows affected (0.01 sec)
      mysql> grant all privileges on *.* to [email protected] identified by 'YourNewPassword' with grant option;
      Query OK, 0 rows affected (0.01 sec)
      

    *パスワードが不要な場合、または空のパスワードが必要な場合

        mysql> grant all privileges on *.* to [email protected] identified by '' with grant option;
        Query OK, 0 rows affected (0.01 sec)*
        mysql> flush privileges;
        Query OK, 0 rows affected (0.00 sec)
    

    結果を確認します:

        mysql> select host, user from user;
    +-----------+------+
    | host      | user |
    +-----------+------+
    | localhost | root |
    +-----------+------+
    1 row in set (0.00 sec)
    
    1. シェルを終了し、mysqlを通常モードで再起動します。

      mysql> quit;
      [root ~]# kill -KILL [PID of mysqld_safe]
      [root ~]# kill -KILL [PID of mysqld]
      [root ~]# service mysql start
      
    2. これで、設定したパスワードを使用してrootユーザーとして正常にログインできます

       [root ~]# mysql -u root -pYourNewPassword 
       mysql> 
      


    1. エンティティで主キーのないビューを使用する

    2. MySQLでフィールドがnullの場合は0を返します

    3. Oracle SQL*Plusの使用方法

    4. カンマ区切りリストMySQLのアイテムをカウントする方法