今天接了新的任务需要从远程服务器把MySQL数据库的数据导入到本地。这真是有点赶鸭子上架的感觉。因为之前几乎没有接触过mysql,
今天接了新的任务需要从远程服务器把MySQL数据库的数据导入到本地。这真是有点赶鸭子上架的感觉。因为之前几乎没有接触过mysql,而且MySQL是部署在Linux服务器上,更主要的是MySQL数据库服务器不能直接通过公网IP访问,需要先登录一台Linux服务器作为踏板在另一台Linux服务器上操作。
既然任务来了,不能不做。在网上搜了一大圈,终于有了眉目。大致步骤如下:
1.登录到远程Linux服务器
远程服务器可以用SSH协议来登录,开始使用PUTTY,可是发现连接后不能粘贴密码,服务器密码不下20位,而且什么字符都有,一个个输显然太累了,后来问了对Linux比较熟的同事,推荐我用SSH Secure Shell Client。一用,果然好用。
2.从远程服务器登录到mysql数据库服务器
远程服务器是Linux系统,要从它登录到别的Linux系统只能使用ssh了。
#ssh [mysql服务器IP]
之后会让输入密码,因为是在SSH Secure Shell Client里操作,可以直接粘贴密码。
3.将mysql数据库dump出来
由于不知道mysql数据库的名称,首先用mysql命令登录,show databases查看数据库。
mysqldump -u用户名 -p密码 数据库名 >dump文件的路径和名称
4.将dump文件由mysql服务器拷贝到远程服务器上
scp [mysql服务器IP]:dump文件 .
由于远程服务器和mysql服务器都是用root登录,执行命令后,会要求输入mysql服务器的root的密码。输入密码后,dump文件会拷贝到root的家里边。
5.压缩dump文件
dump出的文件有1G多,尝试直接下载,速度最快时只有100多K,要下载好几个小时。先压缩一下吧。
bzip2 -zv dump文件
压缩用了不到5分钟,压缩有100多M,这样下载起来就省时间了。压缩后是bz2文件,未压缩的文件不见了。原来bzip2还有个-k选项,可以保留压缩前的文件。
6.从远程服务器拷贝文件到本地
这步就简单了,,SSH Secure Shell Client软件提供了一个“SSH Secure File Transfer Client”,布局跟cuteftp有点类似。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!