參考文獻
linux下mysqldump導出資料、表結構,導入資料
mysqldump導入導出資料庫總結
導出整個資料庫
mysqldump -uroot -prootpwd -h127.0.0.1 -P3306 db_name > db_name.sql
複制
參數解釋如下:
-u: 使用root使用者
-p: 使用root使用者的密碼
-h:指定通路主機
-P:指定端口号
db_name : 指定導出的資料庫名稱
db_name.sql : 指定導入存儲的資料檔案
導出來的資料可以使用
vim
檢視一下:
隻導出表結構:
mysqldump -uroot -prootpwd -h127.0.0.1 -P3306 --add-locks -q -d db_name> db_name_table.sql
複制
-h:指定通路主機
-P:指定端口号
-q:不緩沖查詢,直接導出至标準輸出
--add-locks :導出過程中鎖定表,完成後回解鎖。
-d :隻導出表結構,不含資料
導入資料庫
導入單個庫之前,首先需要建立資料庫,不然會報錯。
[root@ibmserver10 sql]# mysql -uroot -prootpwd db_name < db_name.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1049 (42000): Unknown database 'db_name'
複制
建立好資料庫之後,則選擇這個庫,進行資料導入。
[root@ibmserver10 sql]# mysql -uroot -prootpwd db_name < db_name.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
複制
另一種導入資料庫SQL檔案的方式
常用source 指令
進入mysql資料庫控制台,如
mysql -u root -p
mysql>use 資料庫
然後使用source指令,後面參數為腳本檔案(如這裡用到的.sql)
mysql>source d:/dbname.sql
複制
重新整理權限
如果是導入所有資料庫的資料之後,需要flush一下資料庫。因為mysql庫是包含使用者的,如果不flush權限,則會導緻這些導入的使用者無法登陸使用。
flush PRIVILEGES;
複制