如何将旧系统环境上运行的mysql迁移到新系统新环境中运行?

网友投稿 273 2022-10-31

如何将旧系统环境上运行的mysql迁移到新系统新环境中运行?

前言

很多时候一些远古业务程序一直需要在旧的系统环境上运行(unbuntu12,centOS5),生产环境都是较新的系统版本,这个情况我们有两个选择:1. 使用虚拟机安装旧的系统环境。2.打包整旧系统环境,以docker容器方式在新的系统环境上运行。现在介绍一下第2种方法的操作过程。

前提环境

centOS5.8推荐 安装mysql是5.0.95版,我们尝试在centOS7运行centOS5.8容器,并且在该容器部署mysql 5.0.95。

旧系统环境:

LSB Version::core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarchDistributor ID: CentOSDescription: CentOS release 5.8 (Final)Release: 5.8Codename: Final

docker 版本:

Docker version 1.13.1, build 7d71120/1.13.1

打包centOS5.8

第一步需要更新centos5.8的源,因为centos 5.8已经是一个很古老的版本,原来的源已经失效。不更新的话执行yum install会提示M2Crypto.SSL.SSLError: unknown protocol的错误。

rm -rf /etc/yum.repos.d/* #清理旧的源touch /etc/yum.repos.d/Bento-Vault.repo #创建新的源文件

执行vim/etc/yum.repos.d/Bento-Vault.repo修改内容

#BENTO-BEGIN[C5.8-base]name=CentOS-5.8 - Base#baseurl=- Updates#baseurl=- Extras#baseurl=- Plus#baseurl=当中—numeric-owner是代表执行所属,—exclude:排除那些文件或者目录, -zcvf:打包压缩p保持文件的绝对路径。

tar --numeric-owner --exclude=/proc --exclude=/sys -zcvpf centos-58.tar

生成centos-58.tar之后上传到centOS7服务器上。

导入至docker

确保centos7上已经安装好docker,然后简单操作一下导入即可。

docker import centos-58.tar centos5:v1

进入容器并安装mysql

进入容器

docker run -it centos5:v1 /bin/bash

这个时候查看一下系统信息,系统信息显示是centos5

在容器内部安装mysql并启动

yum install -y mysql-server mysqlservice mysqld start

成功运行

结语

对比起使用虚拟机,docker迁移旧运行环境十分方便。但是因为容器是共用宿主机的内核,所以涉及一些与内核版本相关的接口未必能正常使用,建议投入到生产环境前需要进行完善的测试。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringMVC返回的ResponseEntity出现乱码及解决
下一篇:USB Type-C接口能否取代Lightning和Thunderbolt
相关文章

 发表评论

暂时没有评论,来抢沙发吧~