怎么将sqlserver数据库 导入mysql

怎么将sqlserver数据库 导入mysql,第1张

有多种方法啊。介绍其中一种,使用mysql数据的ODBC驱动。
步骤:
1安装mysql数据库的ODBC驱动,mysql-connector-odbc-35123-win32msi(其中是版本号),下载并安装。
2在Mysql中创建数据库实例。
3打开控制面板 -- 管理工具 -- 数据源ODBC,在用户DSN中添加一个MySQL ODBC 351数据源。
4在登录login选项卡中输入数据源名称Data Source Name,此处输入MysqlDNS(也可以自己随便命名,只要在后面导入数据的时候选择正确的数据源名字就行);然后输入服务器Server,用户User,密码Password,输入正确后选择要导入的数据库,Database选择你需要导入的数据库。在连接选项connect options中根据需要设置MySql使用的端口port和字符集Character Set。
注:字符集一定要和Mysql服务器相对应,如果Mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到Sql Server可能会出现问号乱码。
5打开sql server企业管理器,选择该数据库,单击右键选择所有任务 -- 导出数据。
6‘选择数据源’为默认,‘选择目的’为刚刚安装的mySQL数据源,用户/系统DSN为MysqlDNS。
方法2:
有多种方法啊。介绍其中一种,使用mysql数据库的ODBC驱动。步骤:
1安装mysql数据库的ODBC驱动,mysql-connector-odbc-35123-win32msi(其中是版本号),下载并安装。
2在Mysql中创建数据库实例。
3打开控制面板 -- 管理工具 -- 数据源ODBC,在用户DSN中添加一个MySQL ODBC 351数据源。
4在登录login选项卡中输入数据源名称Data Source Name,此处输入MysqlDNS(也可以自己随便命名,只要在后面导入数据的时候选择正确的数据源名字就行);然后输入服务器Server,用户User,密码Password,输入正确后选择要导入的数据库,Database选择你需要导入的数据库。在连接选项connect options中根据需要设置MySql使用的端口port和字符集Character Set。
注:字符集一定要和Mysql服务器相对应,如果Mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到Sql Server可能会出现问号乱码。
5打开sql server企业管理器,选择该数据库,单击右键选择所有任务 -- 导出数据。
6‘选择数据源’为默认,‘选择目的’为刚刚安装的mySQL数据源,用户/系统DSN为MysqlDNS。

MySQL数据库的导入,有两种方法:
1)
先导出数据库SQL脚本,再导入;
2)
直接拷贝数据库目录和文件。
在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。
2
方法一
SQL脚本形式
*** 作步骤如下:
21
导出SQL脚本
在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。
211
用phpMyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“DROP
DATABASE”和“DROP
TABLE”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的SQL文件保存下来。
212
用mysqldump命令行
命令格式
mysqldump
-u用户名
-p
数据库名
>
数据库名sql
范例:
mysqldump
-uroot
-p
abc
>
abcsql
(导出数据库abc到abcsql文件)
提示输入密码时,输入该数据库用户名的密码。
22
创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
23
将SQL脚本导入执行
同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。
231
用phpMyAdmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。
注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
#
gzip
xxxxxsql
得到
xxxxxsqlgz文件。
提示输入密码时,输入该数据库用户名的密码。
3
直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。
31
准备原始文件
用tar打包为一个文件
32
创建空数据库
33
解压
在临时目录中解压,如:
cd
/tmp
tar
zxf
mydbtargz
34
拷贝
将解压后的数据库文件拷贝到相关目录
cd
mydb/
cp

/var/lib/mysql/mydb/
对于FreeBSD:
cp

/var/db/mysql/mydb/
35
权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown
mysql:mysql
/var/lib/mysql/mydb/
chmod
660
/var/lib/mysql/mydb/

导入时把生成索引给关掉,应该能快一点
不要一边导入一边建立索引
8G数据,应该也不那么慢了
把sql语句文件读取出一部分看看,建表语句中,应当有建立索引的部分,删掉它!
只做建表和插入数据两件事
还有,看看数据库有没有外键
尽量在插入数据过程中去掉外键关联
等数据插入完成之后再加索引和外键,应该能提高很多读写性能
截取一部分数据,例如100Mb
插入一下试试,可以预先对整体时间有一个预期
还有,真的要弄台好点的电脑,或者去借一台,等把数据导入完成之后,把msyql的库文件直接复制出来放自己机器上跑就好
emm
再追加点信息,要先搞明白,sql原文件里,到底都执行了哪几类 *** 作
可能需要你用c之类写点小工具,或者别的什么语言,分块读取并处理文件
8G
嗯,还好
现在内存都够大,否则你都没法直接用软件打开了
只有8G也可以直接用软件打开看
停掉索引真的可以大幅度加快插入数据的速度
建议试一试!

附加数据库 或者导入数据库
SQL本身有数据导入的 *** 作。但如果要从一个备份的文件中导入数据,则要进行另外的 *** 作。下面以一个例子进行说明。

SQL服务器上已有一个DOE数据库,并且里面有大量的数据,现准备从另外一个备份文件A1BAK(不是DOE数据库的备份文件)中导入另外的数据(即导入后在DOE中增加一些数据表,表中已录有数据),并保持原DOE的数据不变。

1、首先,在“SQL企业管理器”中新建一个临时数据库A1。
2、右击A1数据库,选择:所有任务->还原数据库。
3、在“还原数据库”窗口中,选择:“从设备”。
4、点击“选择设备”。
5、点击“添加”。
6、从文件名中选择要还原的数据库文件,如A1BAK。
7、点击“确定”,返回“还原数据库”窗口。
8、点击“选项”卡,进入选项设置。
9、钩选:“在现有数据库上强制还原”。
10、修改“移到物理文件名”为:“c:\a1ldf”、“c:\a1mdf”。
11、点确定,即可导入备份文件中的数据到临时数据库A1中。

12、此时,你可以将数据从A1导入到另外一真正要导入的数据库中,如DOE数据库。

(下面的数据导入 *** 作为SQL2000企业管理器的一般数据导入导出 *** 作。)

13、在“SQL企业管理器”中选择“DOE”数据库。
14、右击DOE数据库,选择:所有任务->导入数据。
15、在“DTS导入/导出向导”窗口的“选择数据源”中,数据源选择刚才建立并导入数据的临时数据库A1。点击下一步。
16、在“选择目的”中,系统已经默认为DOE数据库。
17、连续点击“下一步”,直到完成。

经过上面的 *** 作,你已经成功地将备份文件A1BAK中数据导入DOE数据库中,并且DOE数据库原有数据不变。

此时,你可以删除临时数据库A1。

你现有的sql文件也是从别的库中导出的吧,导出的sql文件中没建库语句,所以你要先在库中建好库,可以如下 *** 作:
一、前期准备工作
mysql -u root -p密码 //登录到mysql库中
create database 库名 //创建一个新数据库
二、导入数据
mysql -u 用户-p密码 库名< sql文件的绝对路径 //在 *** 作系统下 *** 作
三、验证数据
mysql -u root -p密码 //登录到mysql库中
use 你上面创建的库 //指定要 *** 作的库
show tables; //查看当前库中的所有表
select count() from 表名; //查看指定表中数据
好了兄弟,以上3步就可以实现数据的导入及验证了,希望可以帮到你!


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

原文地址: http://outofmemory.cn/yw/13376605.html

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

发表评论

登录后才能评论

评论列表(0条)

保存