linux+windows mysql導入導出sql文件


linux下

一、導出數據庫用mysqldump命令(注意mysql的安裝路徑,即此命令的路徑):
1、導出數據和表結構:
mysqldump -u用戶名 -p密碼 數據庫名 > 數據庫名.sql
#/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql
敲回車后會提示輸入密碼

mysqldump還有一個參數,就是--where 指定條件,這樣我們就可以對一張表里的某些符合條件的數據,進行備份,導出.sql文件了

mysqldump -u root -p 數據庫名 --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE --where="id>1000" 表名 > 導出文件名.sql;

2、只導出表結構
mysqldump -u用戶名 -p密碼 -d 數據庫名 > 數據庫名.sql
#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/  --->  mysql的data目錄


二、導入數據庫
1、首先建空數據庫
mysql>create database abc;

2、導入數據庫
方法一:
(1)選擇數據庫
mysql>use abc;
(2)設置數據庫編碼
mysql>set names utf8;
(3)導入數據(注意sql文件的路徑)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用戶名 -p密碼 數據庫名 < 數據庫名.sql
#mysql -uabc_f -p abc < abc.sql

window下

1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u dbuser -p dbname > dbname.sql

2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql

3.導出一個數據庫結構
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table

4.導入數據庫

mysql -u dbuser -p dbname < dbname.sql

mysql -u dbuser -p dbname users < dbname_users.sql


常用source 命令
進入mysql數據庫控制台,如
mysql -u root -p
mysql>use 數據庫
然后使用source命令,后面參數為腳本文件(如這里用到的.sql)
mysql>source d:/dbname.sql

 

有的時候需要把在一張表中用 select 語句查詢出來的結果保存到另一張結構相同的表中,可以有幾種方法來實現:

在命令行下使用一對SQL語句完成該操作:

導出查詢結果:Select 語句 into outfile '保存路徑+文件名';

導入查詢結果:load data local infile '保存路徑+文件名' into table 表明 character set utf8;

這里導出有可能會報錯,本人一踩坑並填滿了。。。

 1,導入文件亂碼問題

  可以用查詢列 CONVERT轉換

  如:select xxx,CONVERT ((`value`) USING gbk) as xx , xx into outfile '保存路徑+文件名' from table

2,報如下錯誤

Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

這個是限制了導入導出目錄,或者禁止了導入導出。

mysql中執行一下下邊語句,查看 secure-file-priv 

show variables like '%secure%'

secure_file_prive=null  -- 限制mysqld 不允許導入導出

secure_file_priv=/tmp/  -- 限制mysqld的導入導出只能發生在/tmp/目錄下

secure_file_priv=' '      --不對mysqld 的導入 導出做限制

根據自己需要修改配置文件即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM