2013-10-09 29 views
5

mysqlデータベースに50人ほどのユーザリストがあります。ユーザーテーブルのすべての彼らのentiresは次のようになり:既存のmysqlユーザに新しいホストエントリを追加する

mysql> select user,host,password from user where host = '1.2.3.4'; 
+--------+---------+----------+ 
| user | host | password | 
+--------+---------+----------+ 
| user1 | 1.2.3.4 | *XXX... | 
| user2 | 1.2.3.4 | *YYY... | 
| user3 | 1.2.3.4 | *ZZZ... | 
etc. 

私は、彼らはまた、同じパスワードを使用して、フル付与10%から接続できるように、各ユーザーの2番目のエントリを追加されてやりたいです既存のグラントをそのまま残しておきます。

(自動化の目的で)mysqlの中からすべてを実行する方法はありますか?またはユーザーをダンプするスクリプトを作成する必要がありますか?&パスワードハッシュが10.%ホストに対して新しい許可ステートメントを発行しますか?

+0

チェックアウトhttps://dev.mysql.com/doc/mysql-utilities/1.6/en/mysqluserclone.html –

答えて

7
INSERT INTO user (user, host, password) 
SELECT U.user, '10.x' AS NHost, U.password FROM user AS U 
+0

恐ろしいです。ありがとう! –

+0

私は 'ERROR 1364(HY000):私はこれを試してみると 'ssl_cipher'にデフォルト値がありません。誰かが私を啓発することができますか?上の文字列のどれが実際の価値のプレースホルダーです(もしあれば)。または、これを動作させるために構文がどのように変更されるのでしょうか? –

+0

さて、 'SHOW CREATE TABLE user;から、これらのものの中にはデフォルト値がないものがあります:' x509_issuer BLOB NOT NULL 'なので、それらをINSERTセクションとSELECTセクションのリストに追加する必要があります。 –

関連する問題