centos php mssql,centos哪个版本建站好

Linux 下用 Python 连接 MSSql Server 2008

缘起

因为客户要求在应用上部署 mssql server 2008,而我们习惯了开发 Linux下的服务器程序,所以就有了在 linux下用 python连接 mssql server 2008的需求。这个需求非常折腾人,我们花了许多时间在上面,仍然没有搞定。后来是请了 python-cn列表的 vcc出手,通过 ssh直接上机操作才搞定的;相信以后搞不定的人还会不少,所以就把其中的经验写出来,方便后来者,也方便自己日后发布应用程序时能够有一个指导性的文档。

写作本文时我们用的实验机器安装的是 ubuntu 8.04,使用其它 linux发行版的朋友请相应地更改 shell命令。

安装unixODBC

unixODBC是 linux下的 ODBC驱动管理器,官网:。先确保你已经装上了它。如果你在 ubuntu/debian下,直接执行:

   sudo apt-get install unixODBC unixODBC-bin

就可以把 unixODBC装上了,附带装上了图形化的 ODBC管理器 ODBCConfig,它的样子大概是这样的:

如果你确定会在命令行下工作,就不安装 unicODBC-bin也可以。而且后文的相关操作也是通过命令行来完成的,不会使用 ODBCConfig,提到这个只为方便 GUI爱好者。

安装Freetds

Freetds是应用最为广泛的 Linux下的 ODBC驱动,官网:。因为我们用的版本是 0.82版,而 ubuntu的更新源里仍然是 0.63版本,我这边建议你执行 sudo apt-get remove freetds freetds-dev来把以前装的版本删除掉,然后下载 0.82或更新的版本。

编译 freetds的时候一定要注意 configure的参数,我估计当时我编译的时候参数没有设置正确,所以一直没有能够连上 mssql server。Vcc分享了他的编译参数,如下:

   ./configure/

--prefix=/etc/freetds/

--with-tdsver=8.0--enable-msdblib/

--enable-dbmfix/

--with-gnu-ld/

--enable-shared/

--enable-static

执行 configure之后再 sudo make,sudo make install,耐心等候安装完成就可以了。

安装完成后,该用 tsql测试一下,测试的方式是执行:

   tsql–H mssql-server-ip–U username–P password

出现 1提示符就是成功啦。

配置 freetds

Freetds的配置文件位置在/etc/freetds/freetds.conf里,打开后在最后面增加如下一个 section:

138 [db4]

139    host= 192.168.18.4

140    port= 1433

141    tds version= 7.0

其中 host是 mssql server的地址,tds version是指定使用哪个 tds版本,据 vcc说,用 7.0的兼容性比较好,我小试了一下,8.0也是可以的。

完成以后,应该用 tsql测试一下,测试的方式是执行:

   tsql–S db4–U username–P password

看到 1标识符就是成功啦。

配置 ODBC驱动

接下来我们要配置一个 ODBC驱动,驱动存储在/etc/odbcinst.ini文件中,用 vi打开后,写入下面的内容:

1 [SQL Server]

2 Description    = MS-SQLServer

3 Driver     =/usr/local/freetds/lib/libtdsodbc.so

4 Driver64       =/usr/local/freetds/lib/libtdsodbc.so

5 Setup      =/usr/lib/odbc/libtdsS.so

6 Setup64    =/usr/lib/odbc/libtdsS.so

7 UsageCount     = 1

8 CPTimeout      =

9 CPReuse    =

10 FileUsage      = 1

这样我们就配置好一个名为 SQL Server的驱动了。如果你的 odbcinst.ini之前是空的,可能还需要这样一个 section:

12 [ODBC]

13 Trace      = Yes

14 TraceFile      =/tmp/sql.log

15 ForceTrace     = No

16 Pooling    = Yes

其中 Trace是指定要不要写 log,写 log会降低程序性能,发布版记得把 Trace的值改为 No。

配置 ODBC数据源

现在该到配置数据源的时候了,ODBC数据源存放在/etc/odbc.ini文件中,我们用 vi打开,然后加入如下内容:

8 [mssql2k8]

9 Description    = link to 18.4

10 Driver     = SQL Server

12 Servername= db4

14 Database       = tempdb

可以看到这个名为 mssql2k8的数据中,使用了前面在 odbcinst.ini中定义的驱动“SQL Server”,在 freetds.conf中定义的 db4数据库服务器,前面的工作必不可少哇。

配置完成后可以使用 isql测试一下,测试方式是执行:

   isql mssql2k8 username password

在 isql中你可以执行相应的 sql语句,比如 select* from table,看看是不是真的已经能够从 mssql server 2008中取得数据了。

安装 pyodbc

无疑,这一步是最容易的了。先到这里()下载 pyodbc源码包,然后解压到相应的目录,再执行:

   sudo python setup.py build

   sudo python setup.py install

   即可。

最后仍然是测试,可以参考的代码。

参考资料

CentOs下php连mssql并配置unixODBC

PyODBC, UnixODBC, FreeTDS– config

unixODBC教?W

“有”情社区

python-cn

如何在CentOS6下实现Apache+PHP+MySQL的快速安装

LAMP是一个免费、开源的解决方案,代表了Linux、Apache、MySQL、PHP,主要用作建立可行的通用的web服务器。那么如何在CentOS6下实现安装Apache+php+Mysql的快速安装?其具体安装配置步骤可以如下进行:

1.准备工作

使用yum进行安装,为了提高速度,最好先是修改为中国CentOS镜像服务器。目前国内有三个镜像可以选择,分别是:中国科学技术大学、163和Sohu的镜像,建议教育网用户选择中科大,电信用户选择163

下面命令是备份CentOS-Base.repo文件,并修改使用163镜像作为yum源:

mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.save

wget

mv CentOS6-Base-163.repo/etc/yum.repos.d/CentOS-Base.repo

2.更新系统内核

yum-y update

3.安装Apahce、Mysql、PHP

yum-y install httpd php mysql mysql-server

默认情况下,mysql数据目录位于/var/lib/mysql

4.安装相关组件:

yum install php-mysql php-gd php-imap php-ldap php-odbc

php-pear php-xml php-xmlrpc

5.安装MySQL管理工具phpMyAdmin

yum-y install phpMyAdmin

6.配置Apache随系统启动

chkconfig--levels 235 httpd on

/etc/init.d/httpd start

7.配置MySQL随系统启动

chkconfig--levels 235 mysqld on

/etc/init.d/mysqld start

8.设置数据库root密码

/usr/bin/mysqladmin-u root password'New+Password#www.yupengyan.com'

9.测试PHP是否安装成功

在 CentOS中 Apache的默认根目录是/var/www/html,配置文件/etc/httpd/conf/httpd.conf。其他配置存储在/etc/httpd/conf.d/目录。

centos系统编译安装nginx+php环境另加独立mysql教程

前端(nginx+php)ip:192.168.10.8

后端(独立mysql)ip:192.168.10.5

软件版本:libiconv-1.14.tar.gz mysql-5.1.63.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz php-5.2.17-max-input-vars.patch

1.先在后端安装mysql

在192.168.10.5上只安装mysql.方法可以去看centos编译安装nginx+php-fpm+mysql里的mysql安装.

2.在前端安装php-fpm nginx和mysql-client

这里只说下安装mysql-client和php的编译安装.

                代码如下   tar zxf mysql-5.1.63.tar.gz cd mysql-5.1.63

./configure--prefix=/usr/local/mysql--without-server           

这里只需要加上--without-server就可以让mysql变成客户端了.

如果出现/bin/rm: cannot remove `libtoolt': No such file or directory,可以去看这篇文章Mysql安装:/bin/rm: cannot remove `libtoolt': No such file or directory.

没有问题后,执行命令:

                代码如下   make make install           

编译php的时候只需要加上--with-mysql=mysql客户端安装目录就可以了.这里我给出编译参数:

                代码如下   ./configure--prefix=/usr/local/php--enable-fastcgi--enable-fpm--with-fpm-log=/var/log/php-fpm.log\

--with-fpm-conf=/etc/php-fpm.conf--with-fpm-pid=/var/run/php-fpm.pid--with-config-file-path=/etc\

--with-config-file-scan-dir=/etc/php.d--with-openssl--with-zlib--enable-bcmath--with-bz2--with-curl\

--enable-ftp--with-gd--enable-gd-native-ttf--with-jpeg-dir--with-png-dir--with-gettext--with-mhash\

--enable-mbstring--with-mcrypt--enable-soap--enable-zip--with-iconv=/usr/local/libiconv\

--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--without-pear           

nginx的编译没有什么好说的了,我前面centos编译安装nginx+php-fpm+mysql这篇文章里已经有讲过了.

3.进行测试验证

当上面的一切都安装好之后,在后端的mysql里给出远程权限,如下:

                代码如下   GRANT ALL PRIVILEGES ON*.* TO'root'@'%' IDENTIFIED BY'123456';           

然后iptables上只允许192.168.10.8访问mysql端口,其他都拒绝.如:

                代码如下   iptables-A RH-Firewall-1-INPUT-s 192.168.10.8-p tcp-m tcp--dport 3306-j ACCEPT

iptables-A RH-Firewall-1-INPUT-p tcp--dport 3306-j DROP

services iptables save

services iptables restart           

然后在192.168.10.8上进行测试,是否可以远程连上mysql

mysql-h 192.168.10.5-u root-p

如果可以连上,就继续下一步的操作,不能连上的话请检查上面是否有错误的地方.

现在我们加个php页面来测试php是否可以连上mysql,脚本如下:

                代码如下   ?php

$link=mysql_connect("192.168.10.5","root","123456");

if(!$link) echo"bad!";

else echo"ok!";

mysql_close();

?           

成功的话是ok!的输出,失败的话是bad!的输出,我这里是成功的

mysql 5.5.x的只安装客户端.

需要的软件:libiconv-1.14.tar.gz mysql-5.5.25a.tar.gz

1.安装前的准备

安装前的准备,可以去看这篇文章centos编译安装nginx+php-fpm+mysql

2.安装libiconv

                代码如下   ./configure--prefix=/usr/local/libiconv

make make install           

3.只安装mysql客户端

                代码如下   cmake. make mysqlclient libmysql

make install           

这样就只安装了mysql客户端,然后可以输入whereis mysql来查看mysql安装位置.

whereis mysql

好了,可以看到跟yum安装的差不多.

4.安装php

以前mysql是5.1的时候,只需要加上--with-mysql=mysql客户端安装目录就可以了,但在mysql 5.5.x这个参数就要改变下了,下面是php的编译参数:

                代码如下   ./configure--prefix=/usr/local/php--enable-fastcgi--enable-fpm--with-fpm-log=/var/log/php-fpm.log--with-fpm-conf=/etc/php-fpm.conf\

--with-fpm-pid=/var/run/php-fpm.pid--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d\

--with-openssl--with-zlib--enable-bcmath--with-bz2--with-curl--enable-ftp\

--with-gd--enable-gd-native-ttf--with-jpeg-dir--with-png-dir--with-gettext--with-mhash\

--enable-mbstring--with-mcrypt--enable-soap--enable-zip--with-iconv=/usr/local/libiconv\

--with-mysql=shared,/usr--with-mysqli=shared,/usr/bin/mysql_config           

大家可以看最后一行,--with-mysql=shared,/usr--with-mysqli=shared,/usr/bin/mysql_config这就是跟以前不同的行.好了,剩下的就不写了

阅读剩余
THE END