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

MySQL5.7でデフォルトの「root」ユーザーの動作をリセットするにはどうすればよいですか。

    問題:

    auth_socket モジュールは手動でインストールし、rootで有効にする必要があります 古いMySQL 5.5をインポートして5.7の変更を上書きする場合は、ユーザー データベースとユーザーテーブル。

    解決策:

    ユーザーの場合は、引き続きmysql_native_passwordを使用します 、 デフォルト。 rootの場合 、auth_socketを使用します 。

    install plugin auth_socket soname 'auth_socket.so';
    use mysql; update user set plugin='mysql_native_password';
    update mysql.user set plugin = 'auth_socket' where User='root';
    flush privileges;
    

    間違った順序で行う場合(rootを追加 のauth_socket プラグインをインストールする前の列)、プラグインは認証を実行しないため、mysqlをロードできなくなります。セーフモードでmysqlを起動して実行するには、次のコマンドを使用します。

    sudo service mysql stop
    sudo mysqld_safe --skip-grant-table &
    sudo mysql -u root -p -h localhost
    

    これらの修正は、MySQL 5.5から完全なデータベースとユーザーテーブルをインポートするときに実行されました。 MySQL 5.7へ 、Ubuntu 14.04からの移行 Ubuntu 16.04へ 。

    ツール:

    プラグインを参照してください:show plugins \g

    rootユーザーにauth_socketを表示します:select auth_socket from mysql.user where user='root';




    1. Magento:バックアップのアドバイス

    2. データベースとは何ですか、なぜデータベースなのですか?

    3. 行を連結するときにFORXMLPATH('')がどのように機能するか

    4. アップサートのバージョンの選択/挿入:高い同時実行性のデザインパターンはありますか?