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

mysql-ユーザーテーブルを削除しました!どうすれば回復できますか?

    できることはたくさんありません。クエリを実行でき、最近「BACKUP TABLE」を使用してデータベース全体をバックアップした場合は、次のクエリを実行してみてください。

     RESTORE TABLE mysql.user FROM '/path/to/backup/directory'
    

    それができない場合は、コマンドラインで「--skip-grant-tables」オプションを指定してmysqlを実行する必要があります。これにより、少なくともアクセスできるようになります。 mysql_install_dbコマンドを実行して再作成することもできます。 ここにあります

    いずれにせよ、テーブルは次のようになります

     +-----------------+---------------+------+-----+---------+-------+ 
     | Field | Type | Null | Key | Default | Extra | 
     +-----------------+---------------+------+-----+---------+-------+ 
     | Host | varchar(20) | | PRI | | | 
     | User | varchar(6) | | PRI | | | 
     | Password | varchar(41) | | | | | 
     | Select_priv | enum('N','Y') | | | N | | 
     | Insert_priv | enum('N','Y') | | | N | | 
     | Update_priv | enum('N','Y') | | | N | | 
     | Delete_priv | enum('N','Y') | | | N | | 
     | Create_priv | enum('N','Y') | | | N | | 
     | Drop_priv | enum('N','Y') | | | N | | 
     | Reload_priv | enum('N','Y') | | | N | | 
     | Shutdown_priv | enum('N','Y') | | | N | | 
     | Process_priv | enum('N','Y') | | | N | | 
     | File_priv | enum('N','Y') | | | N | | 
     | Grant_priv | enum('N','Y') | | | N | | 
     | References_priv | enum('N','Y') | | | N | | 
     | Index_priv | enum('N','Y') | | | N | | 
     | Alter_priv | enum('N','Y') | | | N | | 
     +-----------------+---------------+------+-----+---------+-------+ 
    


    1. MySQLのDecimalVSInt?

    2. ここでEXECUTEIMMEDIATEが必要なのはなぜですか?

    3. DDLが同時に使用されている場合にmysqldumpとシングルトランザクションを使用して正しいダンプを取得するにはどうすればよいですか?

    4. MySQL-concatおよびgroup_concatを使用して行の値を列名として表示する方法