2017-09-24 3 views
0

MySQLデータベースから特定のユーザーに関するすべての特権(例:u_1)をバックアップし、別のサーバーに復元します。説明したようにhereThe 'mysql' database contains users/privileges/passwords.mysqlデータベース(mysql.usermysql.db、...)のすべてのテーブルからすべての関連データをバックアップする必要があります。私は、このコマンドを実行できます。MySQLの特定のユーザーに関連するすべての特権をバックアップします

$ mysqldump -u root --flush-privileges -r mysql.sql -p mysql 

しかし、もちろんmysql.sqlすべてのユーザーと特権が含まれています。

はまた、私は、このコマンドを試してみました:

$ mysqldump -u root -p --where="user.user='u_1'" mysql user> mysql.sql 

しかし、予想通り、それだけでmysql.userテーブルの行が含まれています。

u_1以外のユーザーを除外する方法はありますか?のは、上記の溶液を呼び出してみましょう

​​

をか...:

+1

を参照してくださいあなたは 'grep'を好きではないのですか? –

+0

@JHこれは、「検索」の略です。 – hasanghaforian

+0

この質問はdbaフォーラムに適していると思います – Strawberry

答えて

3

(わかりやすくするために改行)これらのオプションを試してみてください「ハードな方法を。」

これは簡単な方法でなければなりません:私が使用する

$ mysql -u root -p 
    --skip-column-names 
    -e "SHOW GRANTS FOR 'u_1';" 
    > grants.sql 
+0

最初の結果は '実行できませんでした 'SELECT/*!40001 SQL_NO_CACHE */* FROM' db' WHERE user.user =' u_1 '': 'where節'の 'user.user'列が不明です(1054) ' – hasanghaforian

+0

申し訳ありませんが、' --where = "user = 'u_1'" 'と言ってください。 –

関連する問題