前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux服务器离线安装Mysql等软件的最佳方法

Linux服务器离线安装Mysql等软件的最佳方法

原创
作者头像
洪文聊架构
修改2021-01-25 10:36:49
1.7K0
修改2021-01-25 10:36:49
举报
文章被收录于专栏:洪文聊架构洪文聊架构

由于特殊的专用网络环境和安全策略等方面的原因,服务器往往无法访问互联网,这时我们还需要在服务器上安装软件,比如mysql、httpd。

那么如何选择安装方式最合适呢?接下来我就介绍一下我们离线安装软件mysql的方法,以及总结的解决方案。

1、下载软件的RPM包安装

首先,我们会想到直接下载对应RPM包安装,但这种方式你无法了解RPM包之间的依赖关系,往往当你安装rpm包时,可能会提示依赖另一个rpm包,就还需要去下载这个rpm包,回头可能这个rpm包还依赖另一个rpm,吐血。。。这样,往往会花大量的时间去尝试安装和下载所有的相关rpm包,不推荐此方式。

2、下载源码进行编译

采用这种方式的话,源码在服务器上编译时,一是可能比较耗时,二是也经常会报错,比如gcc的版本不匹配等,离线环境下对编译环境进行升级和调整也会是件麻烦事。

3、直接下载二进制包安装(推荐)

直接下载软件的二进制tar包,解压之后,进行相关的配置后,即可启动运行。一个字,爽!

对于我们的项目需求,就是在离线环境上安装mysql5.1版本(由于项目较老,指定安装这个版本),我们最终选择这种方式,具体过程如下:

1、下载安装包:

下载mysql5.1的二进制安装包,大家注意要根据自己的环境选择好下载32位还是64位,第一次我下载的是32位的安装过程中会报错。

代码语言:txt
复制
cd /usr/local/src/ 
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.g

2、解压内容到/usr/local/mysql

代码语言:txt
复制
tar -zxvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz 
mkdir -p /usr/local/mysql mv mysql-5.1.73-linux-x86_64-glibc23/* /usr/local/mysql

3、创建用户mysql和组mysql,并修改目录属于mysql

代码语言:txt
复制
groupadd mysqluseradd -g mysql -s/sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql

##建立mysql用户和组,-s选项指定shell为/sbin/nologin
groupadd mysql
useradd -g mysql -s/sbin/nologin mysql

4、初始化数据库

代码语言:txt
复制
##初始化数据库
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

5、拷贝配置文件到软件指定目录,并赋予执行权限

代码语言:txt
复制
cp support-files/my-large.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqldchmod 755 /etc/init.d/mysqld

6、添加开机启动,并启动mysql

代码语言:txt
复制
service mysqld startchkconfig --add mysqld
image.jpeg
image.jpeg

7、命令行可执行mysql,在/etc/profile内添加如下内容:

代码语言:txt
复制
export PATH=$PATH:/usr/local/mysql/bin
 #使配置生效 
source /etf/profile
 #登陆 
mysql -uroot -p
image.jpeg
image.jpeg

4、利用包管理工具安装软件

可采用另一种思路:在可联网机器上通过yum或apt包管理工具,下载好软件相关的所有依赖rpm包,然后拿着这些包copy到离线服务器上安装rpm包即可。

可采用如下步骤:

第一步:

Centos环境,通过yum在一台比线上机器OS更干净的一台机器上,执行类似的命令:

代码语言:txt
复制
yum install  --downloadonly --downloaddir=/root/test mysql

完成相关依赖包的下载,下载到指定目录。

第二步:

然后我们拿着这些包去线上的机器上执行:

代码语言:txt
复制
rpm -ivh --force --nodeps *.rpm

没问题就ok。

如果有问题就再找缺失的相关依赖包即可。

5、创建镜像仓库离线安装软件

基于方案四的基础上,将通过yum下载下来的rpm包做成一个仓库,将仓库copy离线服务器上,配置源为这个仓库,直接yum install命令就装上了。

此方法更适合局域网内不同机器多次安装软件,由于我们的需求只是在一台机器上装上mysql即可,所以采用的方案2。

具体步骤如下,以Centos环境,安装httpd为例:

第一步:

就是通过yum在一台比线上机器OS更干净的一台机器上,执行类似的命令:

代码语言:txt
复制
yum install  --downloadonly --downloaddir=/root/test httpd

完成相关依赖包的下载,下载到指定目录。

image.jpeg
image.jpeg

第二步:

还是在可以上网的机器上使用createrepo创建本地仓库

代码语言:txt
复制
yum install createrepocreaterepo /root/test/ 
代码语言:txt
复制
 #将该目录制作成软件仓库,并在第一步中已经包含了httpd的所有rpm包
ll /root/test/
image.jpeg
image.jpeg

第三步:

登陆没有外网的机器,把第二步的整个文件夹/root/test/copy过来。

这样就是一个现成的仓库了。再配置yum源为本地的这个仓库,然后就可以yum install了。

代码语言:txt
复制
[root@163 ~]# cat /etc/yum.repos.d/test.repo   #写个repo文件
[test]
name=test
enable=1
gpgcheck=0
baseurl=file:///root/test/
[root@163 ~]# yum repolist
[root@163 ~]# yum install httpd    
image.jpeg
image.jpeg

实际测试,http安装成功。

以上就是对于离线安装软件的几种解决方案,并实际举例mysql与httpd的安装。

—————END—————

喜欢本文的朋友,欢迎关注公众号 洪文聊架构,收看更多的精彩内容

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档