将mysql数据通过xftp工具从windows迁移到linux下

1、首先,在windows下从cmd进入mysql安装目录下的bin目录:

这里推介一个更快的操作:找的这个bin目录,然后在这个目录下按住shift后右键----选择在此处打开powershell窗口

进去后执行:mysql -u root -p;

然后输入密码。

查询你将要迁移的数据库的编码格式:show create database ecbs;  (ecbs是我的数据库名字),如下为utf8:

然后退出mysql:quit;

2、接着上一步退出mysql后:

执行: mysqldump -u root -h localhost -p -r f:data.txt -B ecbs;

解释:f:data.txt代表要生成的txt文件的名字是data,路径是在F盘下,-B后面是数据库名字

此时到F盘下就可以看到刚才生成的data.txt文件

3、接下来通过xftp将得到的data.txt文件传输到linux中:(这里会写很多,如果已经连接上xftp的请直接跳到第4步即可

xftp下载:https://www.netsarang.com/zh/xftp/    官网提供了免费学生版,邮箱验证一下会把下载连接发送到邮箱,点击连接下载即可。软件不大,下载很快。

在xftp中新建一个连接,连接到Linux:文件---新建

连接后就是这样的界面:左边为windows本地目录,右边为linux目录,这样就可以将windows中的文件传输到linux中了。

右键左边windows中的data.txt,点击传输即可,传输到的linux的目录就是右边linux当前打开的目录

如果连接不上,

1、请确保linux中有线连接已经连接:

或者使用重启网卡命令可以达到同样的效果:nmcli c up ens33(ens33是我的网卡名字,如何查看自己的网卡往下看,我的linux是centos8,使用的是nmcli命令,其他linux版本可能会不同,请自行百度自己linux版本对应的命令)

查看自己的网卡:nmcli d(d是device的缩写,包括实际网卡和虚拟网卡设备)

2、请确保windows中虚拟机(位置:控制面板\网络和 Internet\网络连接)的ip 和 虚拟机的虚拟网络编辑器(位置:VMware Workstation Pro工具的编辑)的ip以及linux系统自身的ip(在linux命令窗口查看,前提是已经给linux自身配置了IP)在同一个ip网段内(注意不是相同的ip,如一个在192.168.166.1,则另外一个可以是192.168.166.110,只要最后一部分的数字不同就行,这样就保证了都在166网段)。只要在同一个网段内,相互都是可以ping通的。所以,这里涉及到三个ip,把这三个ip理清楚后很多问题就想明白了:

a、windows中虚拟机ip

b、虚拟机的虚拟网络编辑器ip

c、linux自身的ip

通常,这三个ip是在同一个网段内的。如果,a和b的ip不在同一个网段内,我试了下xftp是不能连接到linux自身的ip的,所以,这个b的作用就相当于一个路由器,它给a分配了一个ip(a相当于一个网卡,有网卡才能连接网络上网),同时给c分配了一个ip(c就是pc终端,这个ip通常需要自己来配置且和a、b通常在同一个网段),这样的话路由器就把a和c放在了同一个网段,使得a(网卡)在windows中通过b(路由器)可以和c(终端)连接起来,这也正是虚拟机工具的真正用处(注意:VMware Workstation Pro有编辑这个选项,而VMware Workstation Player没有编辑这个选项,如果是player,则保证a和c在同一个网段就可以连接xftp),其实原理和windows一样,虚拟机只不过是装其他操作系统的一个工具。

值得注意的是,我个人试了很多次关于a、b、c的ip是否在同一个网段的实验:

1、a和b在同一个网段,而c是其他网段,结果在linux终端只能ping通自身的ip(即c自身的ip),无法ping通a和b(也可以想的来,因为不在同一个网段,所以不能ping通)。此时,无法连接xftp

2、a和c在同一个网段,而b是其他网段,此时也是无法连接xftp

3、得出结论:三者必须在同一个网段,由于xftp是在windows上的软件,要想连接到linux,则必须同年过windows上的虚拟机ip(即网卡)进一步连接到虚拟机的虚拟网络编辑器ip(即路由器),然后才能连接到linux系统中的ip(即linux终端)。

下面给出以上abc三个ip配置方式:

windows中虚拟机ip:192.168.100.1

dns可以不配

虚拟机的虚拟网络编辑器ip:192.168.100.0

配置好之后,先点击应用再点击确定。可以看到linux通过虚拟机对外上网的三种模式,可自行查找资料研究。

linux自身的ip:192.168.100.100

一般情况下,只要linux的有线连接已经连接且给linux配置了自己的ip,则可以在linux的终端ping linux自己的ip是可以ping得通的,关于在linux中如何配置一个linux自身的ip以及相应的网关、dns,网上教程很多,可以通过nmcli相应的命令来配置,也可以直接在终端打开配置文件来配置。我这里选择配置文件的方式:

在linux命令窗口输入命令后回车:vi  /etc/sysconfig/network-scripts/ifcfg-ens33 (ens33是我自己的网卡名字,查看自己的网卡请看上面文字叙述)

进去后按键盘的 i 进入插入模式:(键盘的上下左右键来移动光标)

然后做如下配置:

BOOTPROTO=static  # 静态ip模式,如果是动态获取ip则为dhcp,此时就不需要自己配置ip了

DEVICE=ens33 #网卡名字,可以自己修改
ONBOOT=yes  #开机启动网卡
GATEWAY=192.168.100.2  #网关
IPADDR=192.168.100.100  #ip地址
NETMASK=255.255.255.0 #子网掩码

配置完成后按键盘的 Esc (左上角)退出插入模式,

然后按住键盘的shift + : ,可以看到该界面的下方出现了冒号 :

之后输入 wq! 保存退出编辑界面。(键盘输入法必须是英文状态下)

将配置加载到connection连接:nmcli c reload ens33

激活连接:nmcli c up ens33(c是connection的缩写)

查看刚才的网卡对应的ip配置:nmcli

shift + :然后输入q 自动退出该界面

如果查看不到以上配置或者修改ip后配置没有更新,则继续使用下面的命令,然后再次查看

激活网卡:nmcli d connect ens33

此时在xftp中测试:

文件--新建---输入主机(刚才配置的linux的ip)---用户名(linux的root,如果是Linux中自己创建的用户名可能权限不够)----密码(linux 的开机密码)----确定(也可以直接选择连接)----在弹出的界面中选择连接

可以看到已经连接上了:接下来就可以将windows中的文件传输到linux中。这就是xftp的文件传输作用。

如果想在不同ip网段相互ping通,可以在windows中这样设置:则可以在linux中ping通windows的ip,反过来也可以。亲测有效。

题外话:)linux中上网的问题:目前我只发现了两种方法(前提是linux的有线连接已经连接,相当于网卡的作用,这是硬件需求):

方法一:

保证windows的ip和虚拟机的ip在同一网段,同时保证虚拟机网络编辑器的网关和windows中ip的网关一致。其次,保证在linux中的ip(此时linux的ip可以设置为dhcp动态获取,无需配置ip)的dns和windows中有网络的有线或无线的dns相同(如果不需要在linux中上网的话,linux中的dns就自己随便配一个),重启linux的网络服务。这样应该就可以上网了。

方法二:

在linux中使用代理:配置 /etc/profile。网上教程很多,也很简单。

在一台能上网的pc中安装ccproxy软件(代理软件,比较方便),将这台pc的ip和端口作为代理。(或者用其他方式得到的能上网的代理)

执行:vi  /etc/profile,配置如下:

export http_proxy=ip:端口号
export https_proxy=ip:端口号
export ftp_proxy=$http_proxy
export no_proxy=10...,192.168..,172.16..,.local,localhost,127.0.0.1

wq!保存后退出,然后执行: source  /etc/profile  使这个配置文件生效

ping百度看能否ping通

或者直接在界面配置代理,但界面这种我的行不通:

好了,回归正题==================================正题=======================:

4、在linux命令窗口创建一个和windows中原来同名的数据库

create database ecbs;

修改数据库的-编码格式为utf8:

alter database ecbs character set utf8;

切换到改数据库:

use ecbs;

将刚才的data.txt导入该数据库:

source /usr/local/data/data.txt;

source后面是data.txt文件在linux下的路径位置

执行后会发现,linux中的mysql(前提是linux中已经安装了mysql并且mysql服务已经启动)会自动执行data.txt中的sql语句然后生成sql表

执行完后查看该数据库中的表:

show tables;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那个小白猿

讨杯可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值