2016-08-03 59 views
0

我想轉儲一張表,但屏蔽了電子郵件,並非如此。如何使用SELECT語句mysqldump表?

mysql -h <ip> -u <username> -P <port> -p --execute=" 
SELECT 
    au.id, 
    CASE WHEN (au.email NOT LIKE '%@abcd.com%' AND au.email NOT LIKE '%@abcd_test.com%') THEN CONCAT('user+', u.id, '@abcd_test.com') ELSE au.email END as email, 
    au.user_id 
    FROM <dbname>.<tablename> as au 
    LEFT JOIN <dbname>.<tablename2> as u 
" > ~/<tablename>.sql 

我試着運行這個命令,但是它沒有創建一個可以導入的轉儲。

實際上,還有一些其他的表有電子郵件列,需要類似的屏蔽,理想情況下,我希望有一個像這樣匿名的電子郵件轉儲整個數據庫。

如果這是不可能的,我至少希望有一個帶有屏蔽電子郵件的表的轉儲,比如shell命令的輸出可以單獨導入到mysql數據庫中。

如何使用SELECT查詢轉儲表?或者我可以導入上述命令的輸出嗎?

這是一個生產數據庫,所以我想避免在這個數據庫上創建一個新表,或者做任何可能導致這個數據庫混亂的事情。從table_name

回答

0

SELECT * INTO OUTFILE 'dump.sql',其中condition

+0

此文件無法導入。 – user2418202