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

既存のユーザーをエクスポートおよびインポートする方法(その特権を使用して!)

    ユーザーをエクスポートするために私が見つけた最も簡単な方法の1つは、Perconaのツールpt-show-grantsを使用することです。 Perconaツールキットは無料で、インストールが簡単で、使いやすく、多くのドキュメントが含まれています。これは、すべてのユーザーまたは特定のユーザーを表示する簡単な方法です。すべての許可と出力がSQL形式で一覧表示されます。 test_userのすべての付与を表示する方法の例を示します:

    shell> pt-show-grants --only test_user
    

    そのコマンドの出力例:

    GRANT USAGE ON *.* TO 'test_user'@'%' IDENTIFIED BY PASSWORD '*06406C868B12689643D7E55E8EB2FE82B4A6F5F4';
    GRANT ALTER, INSERT, LOCK TABLES, SELECT, UPDATE ON `test`.* TO 'test_user'@'%';
    

    私は通常、出力をファイルに再変換して、必要なものを編集したり、mysqlにロードしたりできるようにします。

    または、Perconaツールを使用せずにすべてのユーザーのダンプを実行する場合は、次の方法でmysqldumpを使用できます。

    shell> mysqldump mysql --tables user db > users.sql
    

    注:データベース全体がダンプされていないため、-flush-privilegesはこれでは機能しません。これは、手動で実行する必要があることを意味します。

    shell> mysql -e "FLUSH PRIVILEGES"
    


    1. 明示的結合と暗黙的結合?

    2. MySQLではAUTO_INCREMENTのリセットに時間がかかります

    3. パフォーマンスの神話:切り捨てられたカントはロールバックされます

    4. MySQL2Rubygemは10.6をインストールしません