本片服务的环境的红帽的企业版6.5 的,6.3的测试可能会略有不一样,不过方法大致是一样的。

当前系统的postfix的版本为 postfix-2.6.6-2.2.el6_1.x86_64

我们要向使用最新的就要去网上dow下最新的。获取新的postfix的包 postfix-2.11.0.tar.gz

解压 后会生成一个目录,切换到此目录下。  cd postfix-2.11.0

我们之前的文章提到过要是有.spec的文件可以打装成安装包,直接安装就很方便了 find -name '*.spec',发现没有.spec这样的文件。

我们知道很多源码包的编译安装都是从INSTALL这个文件中获取帮助。

vim INSTALL //可以查看到安装升级的帮助,下面是文件里的关键行模板。

$ make -f Makefile.init makefiles

找到关键的行,生成编译文件,进行编译 make -f Makefile.init makefiles 缺少库文件,安装库文件。

6.3的版本mysql-devel这个包包。要是6.5的话,直接装 yum install db*-devel -y这样就ok了

然后重新编译 make -f Makefile.init makefiles,编译完成后会发现mysql这个插件消失了,显然这不是我们想要的结果。

可以查看到到mail服务所支持的服务和插件

postconf -a

postconf -A

postconf -m

make tidy //编译完成或失败都会产生很多临时文件,会造成我们日后其他服务的障碍,清除编译生成的临时文件

cd README_FILES/  //我们也知道很多源码包都一样,除了INSTALL可以获取帮助,下一个就是 README_FILES目录,里面写了很多关于mail其他插件的升级方案。

less MYSQL_README //查看mail下mysql的编译帮助

找到下面的行:他会提示说,如果你是其他linux版本使用上面这个,要是 Solaris就使用下面这个,当然下面的只是模板。

/*

In order to build Postfix with mysql map support, you will need to add - DHAS_MYSQL and -I for the directory containing the mysql headers, and the mysqlclient library (and libm) to AUXLIBS, for example:

make -f Makefile.init makefiles \         'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \         'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'

On Solaris, use this instead:

make -f Makefile.init makefiles \         'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \         'AUXLIBS=-L/usr/local/mysql/lib -R/usr/local/mysql/lib \             -lmysqlclient -lz -lm'

*/

下面的版本是6.5的,6.3的略有不一样,不过方法一样

rpm -ql mysql-devel  //查看mysql的编译/库 路径,为什么需要下面的路径,上面的编译会调用gcc和库文件,很多软件都是c写的,它需要找到c和库的头文件。.h开头的都是c文件。

这个是6.5 的,上面mysql编译,把这两个路径粘贴过去就ok了,

/usr/include/mysql/sslopt-case.h

/usr/lib64/mysql/libmysqlclient.so

6.3

/usr/include/mysql/typelib.h
/usr/lib/mysql/libmysqlclient.so
的是下面的样子:

mkae tidy  //清除上次上次编译失败的文件,

make -f Makefile.init makefiles

CCARGS表示宏。用于替换makefile中的默认值 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql' //-I路径   表示在指定路径搜索头文件

-lz        表示搜索libz.so或者libz.a,这里用了缩写的形式,只写了一个z,同理lmysqlclient就表示libmysqlclient.so/libmysqlclient.a

'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm'

make upgrade //编译完要升级

postconf -m  //这次可以看到mysql插件了

下面的属于测试,发封邮件测试下ok不?

postconf -n //可以查看到mail的一些参数

postconf -e inet_interfaces=all //所有人可以使用mail服务 postfix reload //重新载入

postfix stop postfix start netstat -antple

<postfix邮件服务下mysql的升级>的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. C# 之 判断或设置以管理员身份运行程序

    一.判断程序是否以管理员权限运行 using System.Security.Principal; public bool IsAdministrator() { WindowsIdentity cu ...

  2. ListView的setSelectionFromTop()方法与setSelection()方法的联系

      通常,app中的数据都是以ListView的形式展示的.默认地,把“新”数据添加到数据列表的尾部. 但是,如果是IM类型的app,比如查看历史消息这个模块.新数据并不是插到数据列表的尾部,而是插到 ...

  3. JavaScript实现搜索联想功能

    -.虽然Jquery已经有了一个完整的包 实现前端搜索联想功能,但是出于学习还是想了解一下实现此功能的原理性 回想起来 实现此功能很简单,1.前端输入字符串 文本改变 异步请求服务器 将返回的资料显示 ...

  4. C#高级特性

    1.接口 接口与抽象基类.抽象类与接口的不同是,抽象类不仅可以定义多态接口还可以定义一些其他的成员以及构造函数.而接口只能包含抽象成员. 抽象父类创建多态接口,只有派生类才可以.而往往很多情况下非派生 ...

  5. [WinForm] VS2010的程序打包封装

    因为学习的要求,我需要把自己的程序进行打包封装,开始也是苦恼,没有找到很好的办法,但并没有放弃,终于发现了一个差不多的文章,于是摸索着进行,可喜的是是成功了,下面和大家分享一下. 第一步:前提是你已经 ...

  6. Spark installation for windows

    download spark from spark.apache.org download hadoop from hadoop.apache.org download hadoop.dll and ...

  7. 【Linux/Ubuntu学习 7】E: 无法获得锁 /var/lib/dpkg/lock – open (11: 资源暂时不可用) E: 无法锁定管理目录

    在用sudo apt-get install 安装软件时,由于速度太慢,想换个软件源,直接关闭了终端,apt-get但进程没有结束,结果终端提示 :“E: 无法获得锁 /var/lib/dpkg/lo ...

  8. vb6.0如何让窗体跟随鼠标运动

    首先将form的boderstyle属性设为0 Dim movesScreen As Boolean Dim mousX As Integer Dim mousY As Integer Dim cur ...

  9. CF Soldier and Cards (模拟)

    Soldier and Cards time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  10. 10 Best TV Series Based On Hacking And Technology

    Technology is rapidly becoming the key point in human lives. Here we have discussed top TV shows whi ...