mysql导出document_Mysql导入导出
Mysql導入導出
1.導入數據庫
1)source
source /home/platvt/product/pc2_create_tables.sql
2)mysqlimport
使用mysqlimport導入數據:
出現情況:
(1)出現?Error: 1146
[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p?--fields-terminated-by='\t' test students
Enter password:
mysqlimport: Error: 1146,?Table?'test.students'?doesn't exist,?when?using?table: students
在導入之前必須數據庫里面有對應的表,所以必須先在數據庫里面把表建立起來之后才能導入。
(2)出現 ?Error: 29
[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p?--fields-terminated-by='\t' test students
Enter password:
mysqlimport: Error: 29,?File?'/data/mysqldata/mydata/test/students'?not?found (Errcode: 2),?when?using?table: students
如果不指定絕對路徑,在導入文件必須放到數據目錄下面,否則必須指定絕對路徑才能導入。通過ps -ef | grep mysql可以查看到mysql的數據目錄的位置:--datadir=/data/mysqldata/mydata
[platvt@qa-qd-62-180 tmp]$ ps -ef | grep mysql
root????????????7068???????? 1????0 Jul10 ?????????????????00:00:00 /bin/sh ./mysqld_safe
mysql???????? 7324????7068????0 Jul10 ?????????????????00:34:59 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql?--datadir=/data/mysqldata/mydata?--user=mysql --log-error=/usr/local/mysql/log/error.log --open-files-limit=8192 --pid-file=/usr/local/mysql/sock/mysql.pid --socket=/usr/local/mysql/sock/mysql.sock --port=3306
(3)出現 ?Error: 13
[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p?--fields-terminated-by='\t' test /home/platvt/tmp/students
Enter password:
mysqlimport: Error: 13, Can't get stat of '/home/platvt/tmp/students' (Errcode: 13),?when?using?table: students
先檢查文件的權限,需要有讀取數據的權限; 導入時加入--local選項
[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p?--fields-terminated-by='\t' --local test /home/platvt/tmp/students
Enter password:
test.students: Records: 5????Deleted: 0????Skipped: 1????Warnings: 0
2、導出數據庫
1)導出語法
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
C:\Documents and Settings\keju.wangkj>mysqldump -h ip -unapoli_ccbu_test -p1qaz@2wsx napoli_ccbu_test--skip-lock-tables > D:\documents\stanley\ccbu_napoli_test.sql
2)導出某用戶下面的所有數據庫:
>mysqldump -hip -uoffer -poffer --all-database????--skip-lock-tables > D:\documents\stanley\cobar_all.sql
3)導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
4)導出一個數據庫結構:-d
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table
mysqldump -h ip -ustanley -pstanley stanley -d --add-drop-table> pc2_create_tables.sql
mysqldump?-unormandy?-p***?-h10.20.36.26?normandy_dev?--skip-lock-tables?--add-drop-table?-d>10.20.36.26_normandy_dev.sql
3、導入導出實戰
需求:
1、導出的表和導入的表結構相同
2、導入的表里面存在數據,且有字增長的字段
解決方案:
建立臨時表:create?table?tmp?as?select?列?from?table;
只導出數據,不導出表結構:mysqldum?-t
4、到處成excel表格
方法1:命令行導出
C:\>mysql -h172.29.63.17 -unapoli -p*** -e "select ? * ? from ? napoli.queues" ? > ? D:\documents\projects\napoli\queues_17.xls
mysql -h172.29.63.17 -unapoli -p*** -e "select ? * ? from ? napoli.machines" ? > ? D:\documents\projects\napoli\machines_17.xls
mysql -h172.29.63.17 -unapoli -p***?-e "select ? * ? from ? napoli.physical_queue" ? > ? D:\documents\projects\napoli\physical_queue_17.xls
mysql -h172.29.63.17 -unapoli -p***?-e "select ? * ? from ? napoli.queue_details" ? > ? D:\documents\projects\napoli\queue_details_17.xls
mysql -h172.29.63.17 -unapoli -p***?-e "select ? * ? from ? napoli.virtual_topics" ? > ? D:\documents\projects\napoli\virtual_topics_17.xls
mysql -h172.29.63.17 -unapoli -p***?-e "select ? * ? from ? napoli.vtopic_queue" ? > ? D:\documents\projects\napoli\vtopic_queue_17.xls
方法2:使用工具
【注意】
1、只導出一個某用戶下面的一個數據庫(一個用戶下面可能存在多個數據庫)
mysqldump -h10.20.*.* -unapoli_itu_test -pnapoli_itu_test napoli??--skip-lock-tables > /home/leonardo/product/napoli_create_tables_with_data.sql
總結
以上是生活随笔為你收集整理的mysql导出document_Mysql导入导出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql shell 所有表_备份my
- 下一篇: mysql查询某个月的所有日期_MySQ