本片服务的环境的红帽的企业版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. Android基本控件之listView(三)<用ListView实现分页加载>

    我们之前讨论了ListView的基本使用方法和ListView的优化 今天我们再来讨论一个关于ListView的一个新的东西~就是分页加载.那么什么是分页加载呢?简单点说,就是"下拉刷新&q ...

  2. A SQLite client library written in Modern C++

    smartdb是一个纯c++11开发,header-only,简洁高效的sqlite封装库. github地址:https://github.com/chxuan/smartdb,如果您觉得不错,请不 ...

  3. Easier Done Than Said?

    Problem Description Password security is a tricky thing. Users prefer simple passwords that are easy ...

  4. java发送邮件 实现编辑html代码

    这个例子相当的简单,一看就懂(  此例仅支持163发送163及qq邮箱) 首先要导入两个必须jar包:mail-1.4.4.jar 和 commons-email-1.2.jar这两个jar包是我用的 ...

  5. Django之牛逼的Models

    Django里的模型是对数据库对表的一次封装,是应用业务与数据之间的桥梁 要想使用Django的models 首先得配置settings Django默认使用的是sqlite,我使用的Mysql,配置 ...

  6. ProgressBar的Indeterminate属性

    Indeterminate ProgressBar默认是白色的,如果容器的背景也是白色的,这样就根本看不到Progressbar. 简单解决方案: 用style属性设定反转的颜色. <Progr ...

  7. jQery无缝滚动效果

    思路: 赋值所有li,添加到ul末尾,重新计算ul宽度 每次移动一个固定的值,当超出一半时,将ul拉回原位 以下代码 <!DOCTYPE html> <html> <he ...

  8. iOS - 网络 - NSURLSession

    1.NSURLSession基础 NSURLConnection在开发中会使用的越来越少,iOS9已经将NSURLConnection废弃,现在最低版本一般适配iOS,所以也可以使用.NSURLCon ...

  9. 重构10-Extract Method(提取方法)

    我们要介绍的重构是提取方法.这个重构极其简单但却大有裨益.首先,将逻辑置于命名良好的方法内有助于提高代码的可读性.当方法的名称可以很好地描述这部分代码的功能时,可以有效地减少其他开发者的研究时间.假设 ...

  10. Linux下VI的使用

    vi使用手册 VI是unix上最常用的文本编辑工具,作为unix软件测试人员,有必要熟练掌握它.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filena ...