mysql使用mysqldump 与 mysqlimport进行数据库迁移

1.导入数据库

1)source

source /home/platvt/product/pc2_create_tables.sql

2)mysqlimport

使用mysqlimport导入数据:

出现情况:

(1)出现 Error: 1146

[[email protected] 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

[[email protected] 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

[[email protected] 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

[[email protected] 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选项

[[email protected] 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 [email protected] napoli_ccbu_test --skip-l
ock-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

  1. 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

可以参考:http://www.web-youhua.com/html/web-youhua-198601532.html

方法2:使用工具

【注意】

1、只导出一个某用户下面的一个数据库(一个用户下面可能存在多个数据库)

mysqldump -h10.20.*.* -unapoli_itu_test -pnapoli_itu_test napoli  --skip-lock-tables > /home/leonardo/product/napoli_create_tables_with_data.sql

2、参看淘宝DBA的mysql导入导出: http://www.taobaodba.com/html/558_loaddata.html

时间: 2024-12-19 09:15:34

mysql使用mysqldump 与 mysqlimport进行数据库迁移的相关文章

mysql之mysqldump、mysqlimport

一.引言 前一段在做一个csv的导入工具,最麻烦的部分就是对csv文件的解析,最后,老大提醒说是不是考虑的过于麻烦了,由于当时考虑到mysql是允许指定导出的csv文件的格式的,所以考虑到想要兼容这种方式,于是思路就麻烦了,考虑到一些特殊的符号,比如:数据中可能存在换行符,这样就无法按行读取了:所以,思路是读取一块数据,然后一个一个字符的解析数据:听了老大的提示,然后我就考虑是不是真的考虑麻烦了,实际环境中换行符处在数据中的情况是相当少见的,我就还从mysql入手,mysql导出csv是使用的语

mysql数据库迁移文档

数据库迁移文档 一.需求 确保数据库稳定的运行,为开发人员提供方便的测试数据库和生产数据库的环境. 二.数据库整体架构(master/slave) 三.数据库迁移备份还原操作 测试数据库导出操作 mysqldump -uroot -p123456 miss8 > miss8.sql Master节点,Slave节点导入数据库 mysql -uroot -piminerroot miss8 < miss8.sql 四.数据库迁移具体配置 一定要确保Master节点和Slave节点数据相同 配置M

Mysql命令mysqldump:备份数据库

http://c.biancheng.net/cpp/html/1458.html mysqldump命令用来备份数据库. mysqldump命令在DOS的[url=file://\\mysql\\bin]\\mysql\\bin[/url]目录下执行. 1) 导出整个数据库(导出文件默认是存在mysql\bin目录下)? ? mysqldump -u 用户名 -p 数据库名 > 导出的文件名??? mysqldump -u user_name -p123456 database_name >

[Windows Server 2008] MySQL单数据库迁移方法

★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:MySQL数据库迁移方法 注意:此方法只适用于MyISAM模式的数据库(如护卫神·PHP套件):InnoDB不适合本方法. 本节主要讲述单个数据库迁移:如果是MySQL整体迁移,请查看我站其他视频. 操作流程:先在旧服务器上备份数据库,然后在新服务器创建数据库,再恢复数据. 1.查找数据库路径    打开[服

(笔记)Mysql命令mysqldump:备份数据库

mysqldump命令用来备份数据库. mysqldump命令在DOS的[url=file://\\mysql\\bin]\\mysql\\bin[/url]目录下执行. 1) 导出整个数据库(导出文件默认是存在mysql\bin目录下)    mysqldump -u 用户名 -p 数据库名 > 导出的文件名    mysqldump -u user_name -p123456 database_name > outfile_name.sql 2) 导出一个表    mysqldump -u

数据库迁移后报错提示MySQL Error:Can&#39;&#39;t find file errno: 13 - Permission denied的解决方法

用户MYSQL数据库迁移后,遇到报错MySQL Error:Can't find file (errno: 13 - Permission denied)使用以下指令重新设置所有者和权限,依然不能解决. [[email protected] ~]# chown 501:501 -R /www/server/data/comdb [[email protected]~]# chmod 666 -R /www/server/data/comdb [[email protected]~]# servi

MySql数据库迁移图文展示

MySql数据库的数据从一台服务器迁移到另外一台服务器需要将数据库导出,再从另外一台服务器导入.方法有很多,MySql配套的相关工具都有这个功能.phpMyAdmin就可以做,但是这个加载起来慢,推荐使用MySql WorkBench带的导入导出功能. 第一步:将本地服务器的数据库导出: 点击开始导出之后出现这样的画面表示成功了. 第二步:将生成的.sql文件上传到服务器 第三步:在服务器上打开mysql workbench,将上述文件导入: 点击开始导入,出现这样的画面表示导入成功: 然后看左

MySQL数据库迁移(转)

MySQL数据库迁移(数据文件直接迁移) 在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移.查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多).由于服务器上业务需要,要尽量减少服务器迁移时的损失.所以迁移时间选在了晚上零点开始,而且要尽量减少迁移所用的时间. 在迁移之前有三种方案: 数据库直接导出,拷贝文件到新服务器,在新服务器上导入. 使用[MySQL GUI Tools]中的 MySQLMigrationTool. 数据文件和库表结构文

数据库迁移之从oracle 到 MySQL最简单的方法

数据库迁移之从oracle 到 MySQL最简单的方法 因工作需要将oracle数据库换到MySQL数据库,数据量比较大,百万级别的数据,表也比较多,有没有一种既快捷又安全的方法呢?答案是肯定的,下面介绍一个工具,非常的好用 需要的工具:Navicat Premium  Navicat Premium 原本是收费的,但是网上也有很多绿色版(盗版)的,本人亲测,也挺好用的,土豪可以忽略这句话. 第一步: 安装Navicat Premium,打开软件,建立数据库的链接,一个是原oracle数据库的链