在Linux *** 作系统中怎样导出my数据库

在Linux *** 作系统中怎样导出my数据库,第1张

不是DOS界面,那是LINUX的终端,是SHELL

你要备份,最简单的就是把服务给停了,复制出MySql安装目录下的data目录就可以了

停止服务命令

mysqladmin

shutdown或者是mysqld

stop

拷贝文件用cp命令

A机 *** 作 mysqldump -u root -p123456 database1 > database1sql 导出数据database1到database1sql

B机 *** 作

mysql -u root -p123456 登录进mysql终端

GRANT ALL PRIVILEGES ON TO 'root'@'1921680103'identified by '123456' WITH GRANT OPTION 1921680103是A机IP root

flush privileges 重新加载授权信息

A机 *** 作mysql -u root -p123456 -h 19216801 database2 < database1sql 19216801为B机IP

导入database1sql这个数据库到B机的dataase2数据库

导入导出与归不归档没有关系

用oracle用户命令行下输入

exp

scott/tiger

file='保存路径'

full=y

这样就可以全库导出

还有一个问题是scott用户不定要解锁,否则会无法连接数据库

解锁命令是sqlplus

下的输入alter

user

scott

account

unlock;

只能用

db2look

+db2move

进行迁移。

1提取DDL

用如下命令

db2look

-d

yn

-e

-l

-o

db2look_ynddl

//提取出

yn(云南)

这个数据库

所有用户对象,包括表空间等。

2用db2move

导出数据

如下

如你在

db2inist1

用户目录下

建立一个

data

目录

然后执行

db2move

yn

export

在data

目录下

会有好多

后缀名为ixf

和msg

的文件,其中ixf为数据表文件,msg后缀的为消息文件,其中最重要的

是db2movelst

存放导出表和消息文件的对应关系。

3去windows

下建立一个数据库

db2

create

db

yn

pagesize

8

k”

//这里的pagesize需要和

ddl的统一

然后修改

ynddl

文件下

Linux下面

的路径

替换为Windows

的路径然后执行db2

-tvf

ynddl

4导入数据库

db2move

yn

load

其中会生成

一个loadout的文件

记录错误信息或者

导入失败的表

,如加载了多少行,拒绝多少行

等。

5查看loadout

找到那些导入不成功的进行

处理,然后倒入。然后进行完整性约束

这些检查。如有问题

Q

我吧。

一 导出工具 exp

1 它是 *** 作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin

exp导出工具将数据库中数据备份压缩成一个二进制系统文件可以在不同OS间迁移

它有三种模式:

a 用户模式: 导出用户所有对象以及对象中的数据;

b 表模式: 导出用户所有表或者指定的表;

c 整个数据库: 导出数据库中所有对象。

2 导出工具exp交互式命令行方式的使用的例子

$exp test/test123@appdb

Enter array fetch buffer size: 4096 > 回车

Export file: expdatdmp > mdmp 生成导出的文件名

(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3

Export table data (yes/no): yes > 回车

Compress extents (yes/no): yes > 回车

Export done in ZHS16GBK character set and ZHS16GBK NCHAR character set

About to export specified tables via Conventional Path

Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu 要导出的表名

exporting table CMAMENU 4336 rows exported

Table(T) or Partition(T:P) to be exported: (RETURN to quit) >要导出的表名n

Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车

Export terminated successfully without warnings

3 导出工具exp非交互式命令行方式的例子

$exp scott/tiger tables=(emp,dept) file=/directory/scottdmp grants=y

说明:把scott用户里两个表emp,dept导出到文件/directory/scottdmp

$exp scott/tiger tables=emp query=\"where job=\'salesman\' and sal\<1600\" file=/directory/scott2dmp

说明:在exp里面加上导出emp的查询条件job='salesman' and sal<1600

(但我个人很少这样用,还是把满足条件的记录生成临时表后,再exp会方便一些)

$exp parfile=usernamepar

file=/directory1/username_1dmp,/directory1/username_2dmp

filesize=2000M log=/directory2/username_explog

参数文件usernamepar内容

userid=username/userpassword

buffer=8192000

compress=n

grants=y

说明:usernamepar为导出工具exp用的参数文件,里面具体参数可以根据需要去修改

filesize指定生成的二进制备份文件的最大字节数

(可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等)

二导入工具 imp

1 它是 *** 作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin

imp导入工具将EXP形成的二进制系统文件导入到数据库中

它有三种模式:

a 用户模式: 导出用户所有对象以及对象中的数据;

b 表模式: 导出用户所有表或者指定的表;

c 整个数据库: 导出数据库中所有对象。

只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入

imp步骤:

(1) create table (2) insert data (3) create index (4) create triggers,constraints

2导入工具imp交互式命令行方式的例子

$ imp

Import: Release 81600 - Production on 星期五 12月 7 17:01:08 2001

(c) Copyright 1999 Oracle Corporation All rights reserved

用户名: test

口令:

连接到: Oracle8i Enterprise Edition Release 81600 - 64bit Production

With the Partitioning option

JServer Release 81600 - Production

导入文件: expdatdmp> /tmp/mdmp

输入插入缓冲区大小(最小为 8192 ) 30720>

经由常规路径导出由EXPORT:V080106创建的文件

警告: 此对象由 TEST 导出, 而不是当前用户

已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入

只列出导入文件的内容(yes/no):no>

由于对象已存在, 忽略创建错误(yes/no):no> yes

导入权限(yes/no):yes>

导入表数据(yes/no):yes>

导入整个导出文件(yes/no):no> yes

正在将TEST的对象导入到 SCOTT

正在导入表 "CMAMENU" 4336行被导入

成功终止导入,但出现警告。

3导入工具imp非交互式命令行方式的例子

$ imp system/manager fromuser=jones tables=(accts)

$ imp system/manager fromuser=scott tables=(emp,dept)

$ imp system/manager fromuser=scott touser=joe tables=emp

$ imp scott/tiger file = expdatdmp full=y

$ imp scott/tiger file = /mnt1/t1dmp show=n buffer=2048000 ignore=n

commit=y grants=y full=y log=/oracle_backup/log/imp_scottlog

$ imp system/manager parfile=paramsdat

paramsdat 内容

file=dbadmp show=n ignore=n grants=y fromuser=scott tables=(dept,emp)

4导入工具imp可能出现的问题

(1) 数据库对象已经存在

一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等;

数据库对象已经存在, 按缺省的imp参数, 则会导入失败

如果用了参数ignore=y, 会把exp文件内的数据内容导入

如果表有唯一关键字的约束条件, 不合条件将不被导入

如果表没有唯一关键字的约束条件, 将引起记录重复

(2) 数据库对象有主外键约束

不符合主外键约束时, 数据会导入失败

解决办法: 先导入主表, 再导入依存表

disable目标导入对象的主外键约束, 导入数据后, 再enable它们

(3) 权限不够

如果要把A用户的数据导入B用户下, A用户需要有imp_full_database权限

(4) 导入大表( 大于80M ) 时, 存储分配失败

默认的EXP时, compress = Y, 也就是把所有的数据压缩在一个数据块上

导入时, 如果不存在连续一个大数据块, 则会导入失败

导出80M以上的大表时, 记得compress= N, 则不会引起这种错误

(5) imp和exp使用的字符集不同

如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息

导入完成后再改回来

(6) imp和exp版本不能往上兼容

imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件

根据情况我们可以用

$ imp username/password@connect_string

说明: connect_string 是在/ORACLE_HOME/network/admin/tnsnamesora

定义的本地或者远端数据库的名称

注意事项:

UNIX: /etc/hosts 要定义本地或者远端数据库服务器的主机名

win98: windows\hosts 和IP地址的对应关系

win2000: winnt\system32\drivers\etc\hosts

导出用exp导入用imp,要导入的数据库先装数据库,建一个同名的空库

命令例子:

exp system/oracle file=/opt/db20111013sql log=/opt/explog full=y

imp导入写法相同不用加full=y

用命令select from table into outfile 'xxxtxt';就可以把查询数据导出在当前数据库保存位置的xxxtxt文件里面了。

也可以直接在linux命令用mysql -h127001 -uroot -pXXXX -P3306 -e"select from table" > /tmp/testtxt

使用mysqldump命令导出sql文件

(1)导出整个数据库的数据

mysqldump -u 用户名 -p 数据库名称>存放位置+导出的文件名称

(2)导出某个表的数据

mysqldump -u 用户名 -p 数据库名称 表名>存放位置+导出的文件名称

(3)导出某个表的结构

mysqldump -d -u 用户名 -p 数据库名称 表名>存放位置+导出的文件名称

(4)导出数据库的结构

mysqldump -u 用户名 wcnc -p -d --add-drop-table smgp_apps_wcnc>存放位置+导出的文件名称

-d没有数据 --add-drop-table 在每个create语句之前增加一个drop table

(5)远程导出数据库的数据

mysqldump -h ip -u 用户名 -p 数据库名称>存放位置+导出的文件名称

以上就是关于在Linux *** 作系统中怎样导出my数据库全部的内容,包括:在Linux *** 作系统中怎样导出my数据库、怎样用linux命令 将服务器A的数据库 转移到服务器B ,随便再教一个批量备份数据库的好方法、linux下怎么用exp和imp导出和导入指定的oracle数据库表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9549868.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存