【转】MYSQL 编译configure向cmake过渡指南

MYSQL 编译configure向cmake过渡指南

网址:http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide

从mysql5.5起,mysql源码安装开始使用cmake了。下面是介绍configure选项如何映射到CMake的等值参数。

1. 命令语法:

[TABLE=2]

重新编译时,需要清除旧的对象文件和缓存信息

# make clean

# rm -f CMakeCache.txt

2.安装选项

[TABLE=3]

CMAKE_INSTALL_PREFIX值是安装的基本目录,其他cmake选项值是不包括前缀,是相对路径名,绝对路径包括CMAKE_INSTALL_PREFIX路径。如-DINSTALL_SBINDIR=sbin的绝对路径是/usr/local/mysql/sbin

3.存储引擎选项

mysql存储引擎是插件式的,因此插件控制选项可以指定那个存储引擎安装。

configure编译插件选项–with-plugins=csv,myisam,myisammrg,heap,innobase,

archive,blackhole在cmake中没有直接对应的相同选项。对于csv,myisam,myisammrg,heap在cmake中是不需要明确指定存储引擎的名称,因为它们是强制性安装。

可以使用以下选择来安装innodb,archive,blackhole存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1

(1可以使用on代替)

如果既不是-DWITH_<ENGINE>_STORAGE_ENGINE 也不是 -DWITHOUT_<ENGINE>_STORAGE_ENGINE来指定存储引擎,该存储引擎将安装成共享模块式的。如果不是共享模块式的将排除在外。共享模块安装时必须使用INSTALL PLUGIN语句或–plugin-load才可以使用。

4.lib库选项

[TABLE=4]

有关插件的CMake的选项的其他信息,请查阅:

http://forge.mysql.com/wiki/MySQL_Internals_Support_for_Plug-Ins

5.其他选项

之前MySQL的编译选项大多数都支持。新旧版本之间的安装选项映射成大写字母,删除选项前面破折号,中间字符间的破折号替换成下划线。如:

–with-debug => WITH_DEBUG=1
–with-embedded-server => WITH_EMBEDDED_SERVER

[TABLE=5]

6.调试配置过程

使用configure编译完将生成config.log和config.status文件。

使用cmake编译完在CMakeFiles目录下生成CMakeError.log 和CMakeOutput.log文件。

7.第三方接口工具

在之前的版本,第三方工具从MySQL顶层源目录中读取源configure.in文件来确定mysql版本。如:对5.5.7 – RC版本的AC_INIT线看起来像这样:

AC_INIT([MySQL Server], [5.5.7-rc], [], [mysql])

现在的版本可以直接读取版本文件。如:如果版本是5.5.8,文件看起来像这样的:

MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5
MYSQL_VERSION_PATCH=8
MYSQL_VERSION_EXTRA=

如果源码包不是GA版,MYSQL_VERSION_EXTRA的值将非空。如:对于一个发布RC版本是这样的:

MYSQL_VERSION_EXTRA=rc

构建5位数字的版本号,使用下面公式:

MYSQL_VERSION_MAJOR*10000 + MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_PATCH

xampp配置xdebug

xampp为一套PHP集成环境,其中PHP中就包含了开发中流行的类库。 xdebug.dll就是其中一个例子。在网上找了一些配置xdebug的文章。其中都说是 zend_extension_tx=”D:/xampp/php/ext/php_xdebug.dll”。但是通过自己的配置发现。在配置的时候不能用这条语句来加入xdebug。要用zend_extension=”D:/xampp/php/ext/php_xdebug.dll”。

还有一点就是:xampp默认是配置好xdebug的。但是并没有加载过来。如果你要想按照xampp自己的配置方式来加入xdebug。那么只需要找到;zend_extension = “….”;去掉前面的分号“;”重启apache即可。但是为了阅读php.ini方便起见,我认为还是在php.ini的底部把配置xdebug的代码写在一起比较好。至于xampp自带的配置方式可以作为一个带注释的介绍来理解,当然要求你的英文足够好了。呵呵。

具体配置xdebug的代码如下:

[Xdebug]

zend_extension=”D:/xampp/php/ext/php_xdebug.dll”

xdebug.auto_trace=1

xdebug.collect_params=1

xdebug.collect_return=1

xdebug.profiler_enable=1

xdebug.profiler_output_name = cachegrind.out.%p

xdebug.trace_output_dir=”D:/xampp/xdebug”

xdebug.profiler_output_dir=”D:/xampp/xdebug”

其中路径根据自己的电脑配置和喜好来设定。当然xdebug与wincachegrind一起使用可以用来分析代码的执行效率。具体方法下篇文章中再做解释。

官方原版 windows7旗舰版 专业版 企业版 家庭高级版 32位 64位 win7系统下载

Windows7 SP1旗舰版64位 简体中文版 5月12日更新版  右键–电驴下载右键–迅雷下载
Windows7 SP1旗舰版32位 简体中文版 5月12日更新版 右键–电驴下载右键–迅雷下载
Windows7 SP1专业版64位 简体中文版 5月12日更新版 右键–电驴下载右键–迅雷下载
Windows7 SP1专业版32位 简体中文版 5月12日更新版 右键–电驴下载右键–迅雷下载
Windows7 SP1企业版64位 简体中文版 5月12日更新版 右键–电驴下载右键–迅雷下载
Windows7 SP1企业版32位 简体中文版 5月12日更新版 右键–电驴下载右键–迅雷下载

更早版本:

Windows7 SP1旗舰版简体中文版 32位官方原版 右键–电驴下载右键–迅雷下载
Windows7 SP1旗舰版简体中文版 64位官方原版 右键–电驴下载右键–迅雷下载
Windows7 SP1家庭高级版简体中文版 32位官方原版 右键–电驴下载右键–迅雷下载
Windows7 SP1家庭高级版简体中文版 64位官方原版 右键–电驴下载右键–迅雷下载
Windows7 SP1专业版简体中文版 64位官方原版 右键–电驴下载右键–迅雷下载
Windows7 SP1专业版简体中文版 32位官方原版 右键–电驴下载右键–迅雷下载
Windows7 SP1家庭普通版简体中文版 32位官方原版 右键–电驴下载右键–迅雷下载
Windows 7 家庭高级版简体中文版 32位MSDN中文版 右键–电驴下载右键–迅雷下载
Windows 7 企业版简体中文版 32位MSDN中文版 右键–电驴下载右键–迅雷下载
Windows 7 企业版简体中文版 64位MSDN中文版 右键–电驴下载右键–迅雷下载
Windows 7 旗舰版简体中文版 64位MSDN中文版 右键–电驴下载右键–迅雷下载
Windows 7 旗舰版简体中文版 32位MSDN中文版 右键–电驴下载右键–迅雷下载
Windows 7 专业版简体中文版 64位MSDN中文版 右键–电驴下载右键–迅雷下载
Windows 7 专业版简体中文版 32位MSDN中文版 右键–电驴下载右键–迅雷下载

Linux中head与tail并行使用查看日志

cialis generique 从第11行开始显示,但不包括最后3行

head -n -3 yum.conf |tail -n +11

显示前20行,但从第11行开始

head -n 20 yum.conf |tail -n +11

显示除最后3行以外的所有行,但只显示最后10行

head -n -3 yum.conf |tail -n 10

显示前20行中的后10行

head -n 20 yum.conf |tail -n 10

从第11行开始显示,但只显示前10行

tail -n +11 yum.conf |head -n 10

从第11行开始显示,但不包括最后3行

tail -n +11 yum.conf |head -n -3

显示最后13行中的前10行

tail -n 13 yum.conf |head -n 10

显示最后13行中除末尾的3行以外的前10行

tail -n 13 yum.conf |head -n -3

Debian 6 中文乱码解决方案

系统版本:Debian 6.0.0 Squeeze

产生乱码原因:系统没有中文字体

解决方案:

1、从C:\WINDOWS\Fonts下拷贝后缀为ttf的字体库到/usr/share/fonts/truetype/

提示:在C:\WINDOWS\Fonts文件夹下,拉到最后,你可以看到有“仿宋体(TrueType)”和“宋体 & 新宋体(TrueType)”,随便拖一个进你的U盘,就会变成“simkai.ttf”或者“simhei.ttf”,然后再复制到/usr/share/fonts/truetype/
2、如果你插入U盘,出现错误提示,不能挂载U盘,那么就打开终端(相信你应该能找到的!!),在命令行下面自己手动挂载U盘:

mkdir /mnt/usb

mount /dev/sdb1 /mnt/usb

cd /mnt/usb

sudo cp simkai.ttf /usr/share/fonts/truetype

过几秒钟,系统自动会变成中文!!!我的就是这样!!嘿嘿!!【真的很快中文就会正常显示^_^】

如果没有改变,就按下面的试试看:

3、终端输入一下代码:

#su root

#cd /usr/share/fonts/truetype/

#chmod 644 simkai.ttf

#mkfontscale

#mkfontdir

4、重启电脑或者在终端输入fc-cache

Debian6 开启root本地登录

修改/etc/pam.d/gdm3文件
把下面一句注释掉

auth required pam_succeed_if.so user != root quiet_success
即变成

#auth required pam_succeed_if.so user != root quiet_success
重新登录即可使用root登录。

基于libmemcached,php扩展memcached的安装

1>下载libmemcached
2>tar -zxvf libmemcached-0.48.tar.gz
3> cd libmemcached-0.48.tar.gz
4>./configure –with-memcached //如果不加–with-memcached,会提示你checking for memcached… no configure:could not find memcached binary
5>make && make install
安装memcached
tar zxvf memcached-1.0.2.tar.gz
cd memcached-1.0.2
/usr/local/lamp/php/bin/phpize
./configure –enable-memcached –with-php-config=/usr/local/lamp/php/bin/php-config –with-libmemcached-dir=/usr/local/lamp/libmemcached
make && make install
vi /etc/php.ini
加上extension=memcached.so
重起一下服务就可以了。

NGINX 配置404错误页面转向

什么是404页面

如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面。404页面的默认内容和具体的服务器有关。如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found

为什么要自定义404页面

在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了。如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户。因此,每一个网站都应该自定义自己的404页面。

NGINX下如何自定义404页面

IIS和APACHE下自定义404页面的经验介绍文章已经非常多了,NGINX的目前还比较少,为了解决自家的问题特地对此作了深入的研究。研究结果表明,NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步:

1.创建自己的404.html页面

2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;

3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 )

中在server 区域加入: error_page 404 = /404.html  或者 error_page 404 = http://www.xxx.com/404.html

4.更改后重启nginx,,测试nginx.conf正确性: /opt/nginx/sbin/nginx –t

#502 等错误可以用同样的方法来配置。

error_page  500 502 503 504 = /50x.html;

注意事项:

1.必须要添加:fastcgi_intercept_errors on; 如果这个选项没有设置,即使创建了404.html和配置了error_page也没有效果。fastcgi_intercept_errors 语法: fastcgi_intercept_errors on|off 默认: fastcgi_intercept_errors off 添加位置: http, server, location 默认情况下,nginx不支持自定义404错误页面,只有这个指令被设置为on,nginx才支持将404错误重定向。这里需要注意的是,并不是说设置了fastcgi_intercept_errors on,nginx就会将404错误重定向。在nginx中404错误重定向生效的前提是设置了fastcgi_intercept_errors on,并且正确的设置了error_page这个选项(包括语法和对应的404页面)

2.不要出于省事或者提高首页权重的目的将首页指定为404错误页面,也不要用其它方法跳转到首页。

3.自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。例如,假设自定义了404.html,大小只有11个字节(内容为:404错误)。

PHP POST 上传大小限制

今天朋友遇到一个问题,在post一个form内容给php时,由于form内容比较多,结果到了server端只能接收部分数据。网上查,说修改php.ini里面的几项:

post_max_size = 10M

upload_max_filesize = 10M

memory_limit = 128M

结果还不行。$_POST变量接收的arry只有1000。折腾了一上午,终于弄好了。要修改/etc/php5/conf.d/suhosin.ini 文件,

suhosin.post.max_vars = 20000

suhosin.request.max_vars = 20000

然后重启apache

/etc/init.d/apache2 restart

$_POST就可以接收更多的数据了。

Linux 禁止root远程登录

修改/etc/ssh/sshd_config

PermitRootLogin no

重启ssh:service sshd restart

ok,可以使用su root切换至root用户权限