mysql數據庫導入導出
1、導出數據庫sunchao
mysqldump -uroot -p12345 sunchao > sunchao.sql
2、導出數據庫sunchao的數據庫結構
mysqldump -uroot -p12345 -d --add-drop-table sunchao > sunchao1.sql
3、導出數據庫sunchao中的vendors表
mysqldump -uroot -p12345 sunchao vendors > vendors.sql
4、導出mysql裏面的函數或者存儲過程
mysqldump -uroot -p12345 -ntd -R sunchao > sunchao2.sql
-d 表示--no-create-db, -n表示--no-data, -t表示--no-create-info, -R表示導出function和procedure。所以上述代碼表示僅僅導出函數和存儲過程,不導出表結構和數據。
網上有人有這個問題我自己導入導出沒有遇見下面這個問題:在這裏我粘過來了供參考
http://blog.csdn.net/lisonghua/article/details/7242243
這樣導出的內容裏,包含了trigger。再往mysql中導入時就會出問題,錯誤如下:
ERROR 1235 (42000) at line **: This version of MySQL doesn't yet support ‘multiple triggers with the same action time and event for one table’
導出時需要把trigger關閉。代碼爲
mysqldump -uroot -p12345 -ntd -R --triggers=false sunchao > sunchao2.sql
樣導入時,會出現新的問題:
ErrorCode:1418
This function has none of DETERMINISTIC, NOSQL, or READS SQL DATA inits declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
解決方法是,在/etc/my.cnf中找到[mysqld],在它下面添加這樣一行:
log-bin-trust-function-creators=1
導入數據庫
方法一:
mysql -uroot -p12345 sunchao < sunchao1.sql
mysql -uroot -p12345 sunchao < sunchao.sql
方法二:使用source命令
mysql -uroot -p12345
mysql>use sunchao;
mysql>source /root/sunchao.sql