页面“Mysql只导出表结构或只导出数据”与“Oracle乱码”之间的差异

来自linux中国网wiki
(页面间的差异)
跳到导航 跳到搜索
docker>Evan
 
docker>Evan
 
第1行: 第1行:
==只导出表结构 不导出数据 ==
+
=Q=
mysqldump --opt -d 数据库名 -u root -p > xxx.sql
+
全库imp 乱 中文注释乱码
 +
=处理过程=  
  
==导出数据不导出结构 ==
+
==查看oracle server端的字符集==
mysqldump -t 数据库名 -uroot -p > xxx.sql
+
<pre>
 +
SQL> select userenv('language') from dual;
  
==导出数据和表结构==
+
USERENV('LANGUAGE')
mysqldump 数据库名 -uroot -p --default-character-set=utf8 > xxx.sql
+
----------------------------------------------------
 +
AMERICAN_AMERICA.AL32UTF8 </pre>
  
==导出特定表的结构==  
+
==修改环境变量NLS_LANG==
mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql
+
<pre>
 +
#注意 是oracle用户
 +
echo $NLS_LANG #可见为空
  
==导出函数及存储过程==
+
#由上面查看可要得
(-ntd表示不导出表结构和数据,-R表示导出函数及存储过程)
+
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
mysqldump -uroot -p -ntd -R 数据库名 > xxx.sql
+
 
 +
#如果要永久生效
 +
编辑用户环境变量 .bash_profile ,添加以下内容:
 +
 
 +
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
 +
 
 +
. .bash_profile
 +
 
 +
 
 +
</pre>
  
 
=参考=
 
=参考=
[https://www.cnblogs.com/chenmh/p/5300370.html MySQL mysqldump数据导出详解]
+
 
[[category:mysql]]
+
[https://my.oschina.net/u/2291124/blog/392174 oracle imp导入数据乱码问题的解决]
 +
 
 +
[https://blog.csdn.net/fireofjava/article/details/53980966 Oracle导入sql文件数据,中文乱码问题解决方案]
 +
 
 +
[[category:oracle]]

2018年10月24日 (三) 02:48的版本

Q

全库imp 乱 中文注释乱码

处理过程

查看oracle server端的字符集

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8 

修改环境变量NLS_LANG

#注意 是oracle用户 
echo $NLS_LANG #可见为空 

#由上面查看可要得
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'

#如果要永久生效 
编辑用户环境变量 .bash_profile ,添加以下内容:

export NLS_LANG='AMERICAN_AMERICA.AL32UTF8' 

. .bash_profile


参考

oracle imp导入数据乱码问题的解决

Oracle导入sql文件数据,中文乱码问题解决方案