Mysql匯入匯出
Mysql匯入匯出
匯出
1. 匯出全庫備份到本地的目錄
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
2. 匯出指定庫到本地的目錄(例如mysql庫)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --databases mysql > db.sql
3. 匯出某個庫的表到本地的目錄(例如mysql庫的user表)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --tables mysql user> db.table.sql
4. 匯出指定庫的表(僅資料)到本地的目錄(例如mysql庫的user表,帶過濾條件)
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
5. 匯出某個庫的所有表結構
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-data --databases mysql > db.nodata.sql
6. 匯出某個查詢sql的資料為txt格式檔案到本地的目錄(各資料值之間用"製表符"分隔)
例如sql為'select user,host,password from mysql.user;'
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
7. 匯出某個查詢sql的資料為txt格式檔案到MySQL伺服器.
登入MySQL,將預設的製表符換成逗號.(適應csv格式檔案).
指定的路徑,mysql要有寫的許可權.最好用tmp目錄,檔案用完之後,再刪除!
SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';
匯入
1. 恢復全庫資料到MySQL,因為包含mysql庫的許可權表,匯入完成需要執行FLUSH PRIVILEGES;命令
第一種方法:
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 < db.all.sql
第二種方法:
登入MySQL,執行source命令,後面的檔名要用絕對路徑.
......
mysql> source /tmp/db.all.sql;
2. 恢復某個庫的資料(mysql庫的user表)
第一種方法:
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 mysql < db.table.sql
第二種方法:
登入MySQL,執行source命令,後面的檔名要用絕對路徑.
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
mysql> source /tmp/db.table.sql;
3. 恢復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 ;
4. 恢復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 ',';
5. 恢復本地的txt或csv檔案到MySQL
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
# txt
mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user;
# csv
mysql> 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 第一個引數為庫名 後續為表名
關於LOAD DATA語法
如果LOAD DATA語句不帶LOCAL關鍵字,就在MySQL的伺服器上直接讀取檔案,且要具有FILE許可權.
如果帶LOCAL關鍵字,就在客戶端本地讀取資料檔案,透過網路傳到MySQL.
LOAD DATA語句,同樣被記錄到binlog,不過是內部的機制.
匯出
1. 匯出全庫備份到本地的目錄
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
2. 匯出指定庫到本地的目錄(例如mysql庫)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --databases mysql > db.sql
3. 匯出某個庫的表到本地的目錄(例如mysql庫的user表)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --tables mysql user> db.table.sql
4. 匯出指定庫的表(僅資料)到本地的目錄(例如mysql庫的user表,帶過濾條件)
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
5. 匯出某個庫的所有表結構
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-data --databases mysql > db.nodata.sql
6. 匯出某個查詢sql的資料為txt格式檔案到本地的目錄(各資料值之間用"製表符"分隔)
例如sql為'select user,host,password from mysql.user;'
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
7. 匯出某個查詢sql的資料為txt格式檔案到MySQL伺服器.
登入MySQL,將預設的製表符換成逗號.(適應csv格式檔案).
指定的路徑,mysql要有寫的許可權.最好用tmp目錄,檔案用完之後,再刪除!
SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';
匯入
1. 恢復全庫資料到MySQL,因為包含mysql庫的許可權表,匯入完成需要執行FLUSH PRIVILEGES;命令
第一種方法:
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 < db.all.sql
第二種方法:
登入MySQL,執行source命令,後面的檔名要用絕對路徑.
......
mysql> source /tmp/db.all.sql;
2. 恢復某個庫的資料(mysql庫的user表)
第一種方法:
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 mysql < db.table.sql
第二種方法:
登入MySQL,執行source命令,後面的檔名要用絕對路徑.
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
mysql> source /tmp/db.table.sql;
3. 恢復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 ;
4. 恢復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 ',';
5. 恢復本地的txt或csv檔案到MySQL
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
# txt
mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user;
# csv
mysql> 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 第一個引數為庫名 後續為表名
關於LOAD DATA語法
如果LOAD DATA語句不帶LOCAL關鍵字,就在MySQL的伺服器上直接讀取檔案,且要具有FILE許可權.
如果帶LOCAL關鍵字,就在客戶端本地讀取資料檔案,透過網路傳到MySQL.
LOAD DATA語句,同樣被記錄到binlog,不過是內部的機制.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1369398/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql匯入&匯出MySql
- mysql 命令匯入匯出MySql
- mysql匯入匯出慢MySql
- mysql 匯入、匯出命令MySql
- mysql資料匯入匯出MySql
- mysql資料匯出匯入MySql
- SQLServer匯出匯入資料到MySQLServerMySql
- mysql 匯入匯出 sql檔案MySql
- MySQL匯入匯出平面檔案MySql
- mysql 資料庫匯入匯出MySql資料庫
- MySQL資料庫匯入匯出MySql資料庫
- 【匯出匯入】匯出匯入 大物件物件
- MySQL入門--匯出和匯入資料MySql
- 【mysql】資料庫匯出和匯入MySql資料庫
- mysql多執行緒匯出匯入MySql執行緒
- MySQL匯入匯出檔案檔案MySql
- mysql匯入匯出.csv格式資料MySql
- mysqldump匯入匯出mysql資料庫MySql資料庫
- MySQL表資料匯入與匯出MySql
- Mysql 資料庫匯入與匯出MySql資料庫
- 【匯入匯出】sqlldr 匯入案例SQL
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- MySQL資料匯入匯出牛刀小試MySql
- 【匯出匯入】% 在匯入匯出中的應用。
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- doris匯入匯出
- esayExcel匯入匯出Excel
- [Mysql]——備份、還原、表的匯入匯出MySql
- MySQL資料匯入匯出亂碼問題MySql
- ubuntu 下mysql匯入和匯出.sql檔案UbuntuMySql
- mysql 5.5.9 匯出匯入到5.1.41 的問題MySql
- MySQL 匯出匯入二進位制檔案MySql
- 【MySQL】白話說MySQL(五),資料的匯出與匯入MySql
- 【匯入匯出】Oracle 常用匯入匯出工具集錦Oracle
- mysql匯入匯出指令碼的區別對比MySql指令碼
- Mysql透過workbench對錶進行匯出匯入MySql
- MySQL資料匯入匯出之Load data fileMySql
- MySQL資料匯入匯出方法與工具介紹MySql