一般服务器上没有分用户的时候mysql用户名可以用 "root"得到最高权限
Ubuntu下使用MySql命令导入/导出sql文件( redhat的mysql命令在: /usr/local/mysql/bin/ 目录下面 )导出:
1导出整个数据库
mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名
2导出指定表
mysqldump -u 用户名 -p密码 数据库名 表名1 表名2 > 导出的文件名
3导出指定条件的记录
mysqldump [--host=服务器] -u 用户名 -p密码 数据库名 表名 -w"条件语句" > 导出的文件名
4如果带端口号的话,必须去掉密码:
mysqldump [--host=服务器] [--port=端口号] -u 用户名 -p 数据库名 表名 -w"条件语句" [--skip-lock-tables ] > 导出的文件名导入:在提示符下输入
mysql -u root -p 密码
进入MYSQL后:
先打开要导入的数据库
mysql>use test;
然后,设置要导入的数据的编码(如果MySQL默认编与要导入的数据编码一致,此步可省略)
mysql>set names 编码格式(utf8或gbk);
最后,导入数据sql文件
mysql> source c:/testsql;
Windows下使用MySql命令导入/导出sql文件1 导出数据库:
D:\mysql\bin> mysql 数据库名 > 导出的文件名 -u 用户名 -p密码
2 导入数据库:
D:\mysql\bin> mysql 数据库名 < 导出的文件名 -u 用户名 -p密码
使用db2look和db2move工具。
1首先利用db2look -d 数据库名称 -e -a -l -o 文件名sql 导出数据库建库脚本
2再利用db2move 数据库名称 export 导出数据库。
在到windows *** 作系统上
3建库
4修改并执行1中的脚本创建数据库中的对象。
5使用db2move 数据库名称 load 导入上面导出的数据。
导入工具imp交互式命令行方式的例子
$imp
Import:Release81600-Proctionon星期五12月717:01:082001
©Copyright1999OracleCorporationAllrightsreserved
用户名:test
口令:
连接到:Oracle8iEnterpriseEditionRelease81600-64bitProction
Withtheoption
JServerRelease81600-Proction
导入文件:expdatdmp>/tmp/mdmp
输入插入缓冲区大小(最小为8192)30720>
经由常规路径导出由EXPORT:V080106创建的文件
警告:此对象由TEST导出,而不是当前用户
已经完成ZHS16GBK字符集和ZHS16GBKNCHAR字符集中的导入
只列出导入文件的内容(yes/no):no>
由于对象已存在,忽略创建错误(yes/no):no>yes
导入权限(yes/no):yes>
导入表数据(yes/no):yes>
导入整个导出文件(yes/no):no>yes
正在将TEST的对象导入到SCOTT
正在导入表"CMAMENU"4336行被导入
成功终止导入,但出现警告。
导入工具imp非交互式命令行方式的例子
$impsystem/managerfromuser=jonestables=(ats)
$impsystem/managerfromuser=scotttables=(emp,dept)
$impsystem/managerfromuser=scotttouser=joetables=emp
$impscott/tigerfile=expdatdmpfull=y
$impscott/tigerfile=/mnt1/t1dmpshow=nbuffer=2048000ignore=ncommit=ygrants=yfull=ylog=/oracle_backup/log/imp_scottlog
$impsystem/managerparfile=paramsdat
paramsdat内容
file=dbadmpshow=nignore=ngrants=yfromuser=scotttables=(dept,emp)
导入工具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生成的文件
根据情况我们可以用
$impusername/password@connect_string
说明:connect_string是在/ORACLE_HOME/network/admin/tnsnamesora
定义的本地或者远端数据库的名称
注意事项:
UNIX:/etc/hosts要定义本地或者远端数据库服务器的主机名
win98:windowshosts和IP地址的对应关系
win2000:winntsystem32driversetchosts
1 、打开 SQLPLUS ,用 sys 用户登录。
2 、执行 SELECT FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'; 。
其中 'NLS_CHARACTERSET' 必须为大写。
PARAMETER
--------------------
VALUE
--------------------
NLS_CHARACTERSET
ZHS16GBK
3、 ( Windows )
打开注册表,依次进入 HKEY_LOCAL_MACHINE→SOFTWARE→ORACLE→HOME0 目录,察看 NLS_LANG 的值,将其修改为数据库服务器端字符集相同的字符。
最简单的方法:
1、在Windows上建一个和linux一模一样的数据库,数据库版本和实例名等都要一模一样。
2、停止oracle上的所有oracle相关的服务。
3、将linux上的数据库文件,就是ora实例名那个文件夹里的东西(包括控制文件、日志文件、数据文件)全部copy出来,覆盖到windows上的相应文件上。
4、重新启动Windows上的oracle相应服务。
5、一模一样的数据库就建好了。
---
以上,希望对你有所帮助。
以上就是关于分别在Linux和Windows下,如何使用MySql命令导入/导出*.sql文件全部的内容,包括:分别在Linux和Windows下,如何使用MySql命令导入/导出*.sql文件、db2 aix 下的数据文件如何导入windows的数据库当中、怎么样导出数据库里的表格和数据(数据库怎么导出excel表格)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)