mysql 匯入匯出資料說明

來源:互聯網
上載者:User
文章目錄
  • 匯出全庫到本地
匯出全庫到本地
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --lock-all-tables --add-drop-database -A > db.all.sql
匯出指定庫到本地
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --databases mysql > db.sql
匯出某個庫的表到本地
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --tables mysql user> db.table.sql
匯出指定庫的表(僅資料)到本地
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-create-db --no-create-info --tables mysql user --where="host='localhost'"> db.table.sql
匯出某個庫的所有表結構
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-data --databases mysql > db.nodata.sql
匯出sql結果集為txt格式檔案到本地(資料值之間用"定位字元"分隔)
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 --skip-column-names -B -e 'select user,host,password from mysql.user;' > mysql_user.txt
匯出某個查詢sql的資料為txt格式檔案到MySQL伺服器.

登入MySQL,將預設的定位字元換成逗號.(適應csv格式檔案).指定的路徑,mysql要有寫的許可權.最好用tmp目錄,檔案用完之後,再刪除!

SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';
帶where條件dump
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 --tables --where="user=root" > mysql_user.sql
匯入匯入全庫資料到MySQ,匯入完成需要執行FLUSH
PRIVILEGES;命令
  1. 第一種方法

    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 < db.all.sql
  2. 第二種方法登入MySQL,執行source命令,後面的檔案名稱要用絕對路徑.
    mysql> source /tmp/db.all.sql;
匯入某個庫的資料
  1. 第一種方法

    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 mysql < db.table.sql
  2. 第二種方法登入MySQL,執行source命令,後面的檔案名稱要用絕對路徑.
    $ mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8mysql> use mysql;mysql> source /tmp/db.table.sql;
匯入MySQL伺服器上面的txt格式檔案
  • 需要FILE許可權,各資料值之間用"定位字元"分隔

    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8......mysql> use mysql;mysql> LOAD DATA INFILE '/tmp/mysql_user.txt' INTO TABLE user ;
恢複MySQL伺服器上面的csv格式檔案
  • 需要FILE許可權,各資料值之間用"逗號"分隔

    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8......mysql> use mysql;mysql> LOAD DATA INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';
恢複本地的txt或csv檔案到MySQL
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8......mysql> use mysql;# txtmysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user;# csvmysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';
注意事項MySQL串連

-u$USER 使用者名稱
-p$PASSWD 密碼
-h127.0.0.1 如果串連遠程伺服器,請用對應的主機名稱或者IP地址替換
-P3306 連接埠
--default-character-set=utf8 指定字元集

mysql參數

--skip-column-names 不顯示資料列的名字
-B 以批處理的方式運行mysql程式.查詢結果將顯示為定位字元間隔格式.
-e 執行命令後,退出

mysqldump參數

-A 全庫備份
--routines 備份預存程序和函數
--default-character-set=utf8 設定字元集
--lock-all-tables 全域一致性鎖
--add-drop-database 在每次執行建表語句之前,先執行DROP TABLE IF EXIST語句
--no-create-db 不輸出CREATE DATABASE語句
--no-create-info 不輸出CREATE TABLE語句
--databases 將後面的參數都解析為庫名
--tables 第一個參數為庫名 後續為表名

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.