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

パスワードを変更した後、mysql5.7.9にログインできません

    以前のバージョンのmySQLから2つの変更がありました(私は5.7.10を使用しています):

    1. systemd mysqld_safeの代わりにmySQLの管理に使用されるようになりました (これが、-bash: mysqld_safe: command not foundを取得していた理由です。 エラー-インストールされていません)

    2. user テーブル構造が変更されました。

    したがって、ルートパスワードをリセットするには、mySQLを--skip-grant-tablesで開始します。 オプションを選択し、userを更新します テーブルですが、その方法が変わりました。

    1. Stop mysql:
    systemctl stop mysqld
    
    2. Set the mySQL environment option 
    systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
    
    3. Start mysql usig the options you just set
    systemctl start mysqld
    
    4. Login as root
    mysql -u root
    
    5. Update the root user password with these mysql commands
    mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword')
        -> WHERE User = 'root' AND Host = 'localhost';
    mysql> FLUSH PRIVILEGES;
    mysql> quit
    
    6. Stop mysql
    systemctl stop mysqld
    
    7. Unset the mySQL envitroment option so it starts normally next time
    systemctl unset-environment MYSQLD_OPTS
    
    8. Start mysql normally:
    systemctl start mysqld
    
    Try to login using your new password:
    7. mysql -u root -p
    

    参照

    http://dev.mysql.com /doc/refman/5.7/en/mysqld-safe.html

    http://devに移動します。 .mysql.com / doc / refman / 5.7 / en / server-management-using-systemd.html ここで、systemctl set-environment MYSQLD_OPTS=について言及しています。 ページの下部に向かって。

    パスワードリセットコマンドは、 http://の下部にあります。 dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html



    1. 1つのクエリphpに複数のmysqlINSERTステートメント

    2. AndroidStudioのRoomデータベースを使用したテーブルの関連付け

    3. MySQL LN()関数–数値の自然対数を返します

    4. SQLServerのランキング関数