linux mysqlインストール後、ログインエラーAccess denied for user'root'@'localhost'(using password:YES)

2614 ワード

linux初心者、記録してください
linux mysqlインストール後、ログインできない問題:ERROR 1045(28000):Access denied for user‘root’@‘localhost’(using password:YES)
1、初回ログインでmysqlパスワードがわからずmysqlにログインできません
mysqlをインストールしたら、service mysqld startを使用してmysql-u root-pの入力を開始します.
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

パスワードが分からないためmysqlにログインできない場合はmysqlのログmysqldにアクセスできます.logで生成されたパスワードを見つけます.
# grep 'temporary password' /var/log/mysqld.log
2019-09-05T03:39:51.432086Z 1 [Note] A temporary password is generated for root@localhost: Sfjo9e=j/doU

Sfjo 9 e=j/doUは、生成されたパスワードであり、通常のログインプロセスに従ってログインできます.
2、ログイン後にパスワードを修正し、パスワードが規則の要求に合わないことを提示する
ログイン後、次のコマンドを使用してパスワードalter userを変更します.root@localhost identified by ‘123456’; エラー:ERROR 1819(HY 000):Your password does not satisfy the current policy requirementsは、次の手順で処理できます.
  • mysql初期のパスワードポリシーを表示し、「SHOW VARIABLES LIKE『validate_password%』;(これも見られない可能性が高いので、そのまま次へ)
  • mysql> show variables like 'validate_password%';
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password_check_user_name    | OFF   |
    | validate_password_dictionary_file    |       |
    | validate_password_length             | 6     |
    | validate_password_mixed_case_count   | 1     |
    | validate_password_number_count       | 0     |
    | validate_password_policy             | LOW   |
    | validate_password_special_char_count | 1     |
    +--------------------------------------+-------+
    7 rows in set (0.01 sec)
    
  • まずパスワードの認証強度レベルを設定し、validate_を設定する必要があります.password_policyのグローバルパラメータがLOWであれば、設定文「set global validate_password_policy=LOW;設定を行い、
  • 現在のパスワードの長さが長すぎると感じたら、6ビットのパスワードに設定し、validate_を設定することができます.password_lengthのグローバルパラメータは6で良いので、設定文「set global validate_password_length=6;設定を行い、
  • 現在mysqlに設定されているパスワードは、6ビットの長さを満たす限り、修正文「ALTER USER‘root’@‘localhost’IDENTIFIED BY‘123456’;パスワードポリシーの変更に成功したことを示す変更に成功しました
  • 3、mysqlユーザーテーブルuserの授権と権限回収
    mysqlデータベースがインストールされると、デフォルトではmysqlというデータベースがあり、ユーザーテーブルuser、インデックスレコードテーブルinnodb_などのシステムに関する情報が格納されます.index_statsなどのシステム情報では、ユーザーが作成され、権限付与操作は以下の通りです.
    use mysql;
    create user test identified by '123456';
    #   test  ,       --@localhost          
    grant all  on *.*  to test with grant option;
    #  test    ,    
    revoke all on *.*  from test@localhost;
    #       
    

    参照先:https://blog.csdn.net/Hello_World_QWP/article/details/79551789