存档

  • 简单了解下MySQL的各种存储引擎

    MySQL有多种存储引擎,每种存储引擎有各自的优缺点,同学们可以择优选择使用:
    MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。
    MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:
    · MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。
    · MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。
    注释:MEMORY存储引擎正式地被确定为HEAP引擎。
    · InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所 有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。

    2009年3月5日 | 归档于 web构架
  • vsftp 服务器虚拟用户配置(without mysql)

    直接进入正题, 我比较习惯用vsftp, 设置相对简单些吧.
    原文地址:http://www.hao32.com/webserver/279.html
    系统环境是: CentOS 5.2 x86_64
    FTP服务端:vsftpd 本文简单说明服务器虚拟用户配置情况
    不编译安装了, 用最简洁的方式, 直接:
    # 通过yum直接在线装vsftpd(rpm版本)
    yum -y install vsftpd

    2008年11月21日 | 归档于 web构架
    标签:
  • 解决checking for gnutls support in libcurl… no的问题

    64位的系统给php添加curl的时候,cd /usr/local/src/php-5.2.6/ext/curl//usr/local/php-fcgi/bin/phpize./configure –with-php-config=/usr/local/php-fcgi/bin/php-config居然出现一下错误!checking for gnutls support in libcurl… nochecking for curl_easy_perform in -lcurl… noconfigure: error: There is something wrong. Please check config.log for more information.
    我赶紧检查有没有装curl的develrpm -qa |grep curl全都有!查了半天资料, 还是找到结果了, 只要以下包都安装了, 就可以完美通过!curl-devel-7.15.5-2.el5e2fsprogs-devel-1.39-15.el5krb5-devel-1.6.1-25.el5libidn-devel-0.6.5-1.1openssl-devel-0.9.8b-10.el5至于每个包的作用, 自己去查吧! 呵呵

    2008年11月15日 | 归档于 web构架
  • 解决/usr/bin/ld: cannot find -lmysqlclient错误

    类似/usr/bin/ld: cannot find -xxxx的错误有很多, 首先我们可以最简单的判断一下:
    这类情况一般是由于缺乏某某库文件, 又或者可能是由于已存在的库问题版本不对造成的
    一般都是解决的办法就是安装缺乏的devel包就可以解决, 当然还有其他的未知因素, 我们看一个实例:
    我在一台装centos5.2 x86_64的系统上配置php环境, 提示这个错误
    “/usr/bin/ld: cannot find -lmysqlclient”
    于是我安装了
    #  yum -y install mysql-devel
    结果提示依旧, 我根据提示查看config.log
        /usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.so when searching for -lmysqlclient    /usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.a when searching for -lmysqlclient    /usr/bin/ld: cannot find -lmysqlclient
    她还是去找/usr/local/mysql/lib/libmysqlclient.so, 我来把这个错的换成对了, 刚才装了mysql-devel, 那么在/usr/lib64下就多了一个mysql的目录
    # cd /usr/local/mysql# mv lib lib.bak# ln -s /usr/lib64/mysql /usr/local/mysql/lib (给他做个软链接)
    然后再次编译安装php, 一切正常!

    2008年10月28日 | 归档于 web构架
    标签:
  • mysqladmin: 用于管理MySQL服务器的客户端

    目前mysql可以说是大行其道, 而mysqladmin作为管理MySQL服务器的客户端, 使用他来管理mysql, 以及观测mysql的状态, 显得尤为有用, 本文就详述mysqladmin的使用方法
    mysqladmin:用于管理MySQL服务器的客户端
    mysqladmin是一个执行管理操作的客户程序。可以用它来检查服务器的配置和当前的状态,创建并删除数据库等等。
    这样调用mysqladmin:shell> mysqladmin [options] command [command-options] [command [command-options]] …
    mysqladmin支持下面的命令:
    ·         create db_name
    创建一个名为db_name的新数据库。
    ·         debug
    告诉服务器向错误日志写入调试信息。
    ·         drop db_name
    删除名为db_nam的数据库和所有表。
    ·         extended-status
    显示服务器状态变量及其值。
    ·         flush-hosts
    刷新主机缓存中的所有信息。
    ·         flush-logs
    刷新所有日志。
    ·         flush-privileges
    重载授权表(类似reload)。
    ·         flush-status
    清除状态变量。
    ·         flush-tables
    刷新所有表。
    ·         flush-threads
    刷新线程缓存。
    ·         kill id,id,…
    杀掉服务器线程。
    ·         old-password new-password
    类似password但使用旧的(pre-4.1)密码哈希格式保存 密码。
    ·         password new-password
    设置一个新密码。将用mysqladmin连接服务器使用的 账户的密码更改为new-password。
    如果new-password包含空格或其它命令解释符的特殊字符,需要用引号将它引起来。在Windows中,一定要使用双引号而不要用单引号;单引号不会从 密码中剥离出来,而是解释为密码的一部分。例如:
    shell> mysqladmin password “my new password”
    ·         ping
    检查服务器是否仍活动。如果服务器在运行mysqladmin返回状态0,如果不运行返回1。即使出现错误例如Access denied也为0,因为这说明服务器在运行但拒绝了连接,与服务器不在运行不同。
    ·         processlist
    显示活动服务器线程的列表。类似SHOW PROCESSLIST语句的输出。如果给出了–verbose选项,输出类似SHOW FULL PROCESSLIST。
    ·         reload
    重载授权表。
    ·         refresh
    刷新所有表并关闭和打开日志文件。
    ·         shutdown
    停止服务器。
    ·         start-slave
    开始从服务器上的复制。
    ·         status
    显示短服务器状态消息。
    ·         stop-slave
    停止从服务器上的复制。
    ·         variables
    显示服务器系统变量及其值。
    ·         version
    显示服务器的版本信息。
    所有命令可以简化为任何唯一的前缀。例如:shell> mysqladmin proc [...]

    2008年10月18日 | 归档于 Linux教程, web构架
  • my.cnf优化

    转载一篇比较通用的mysql配置优化的文章原文地址:http://blog.chinaunix.net/u1/51067/showart_1149584.html
    做freeradius认证,折腾mysql,简单记录下————————————–对于单台运行的WEB服务器,建议加上:skip-lockingskip-name-resolveskip-networking在PHP链接数据库时使用”LOCALHOST”.这样MySQL 客户端库将覆盖之并尝试连接到本地套接字.(我们可以从PHP.INI中代码:; Default socket name for local MySQL connects.If empty, uses the built-in; MySQL defaults.mysql.default_socket = /tmp/mysql.sock
    看出 默认情况下 UNIX 将访问/tmp/mysql.sock)
        * 以下是部分选项解释:
    my.cnf默认是不存在的.你可以在/usr/local/share/mysql/下看到:
    # my-huge.cnf# my-innodb-heavy-4G.cnf# my-large.cnf# my-medium.cnf# my-small.cnf等文件.将其中合适你机器配置的文件拷贝到/etc/my.cnf或mysql data目录/my.cnf(/var/db/mysql)下或~/.my.cnf.文件内都有详细的说明比如我是在freebsd下用ports装的,copy其中一个文件到 /usr/local/etc  这个目录下即可————————————–[mysqld]port = 3306serverid = 1socket = /tmp/mysql.sockskip-locking# 避免MySQL的外部锁定,减少出错几率增强稳定性。skip-name-resolve禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!back_log = 384指定MySQL可能的连接数量。当MySQL主线程在很短的时间内接收到非常多的连接请求,该参数生效,主线程花费很短的时间检查连接并且启动一个新线程。back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自 己的限制。试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。key_buffer_size = 256M# key_buffer_size指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能。对于内存在4GB左右的服务器该参数可设置为256M或384M。注意:该参数值设置的过大反而会是服务器整体效率降低!max_allowed_packet = 4Mthread_stack = 256Ktable_cache = 128Ksort_buffer_size = 6M查询排序时所能使用的缓冲区大小。注意:该参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 6 = [...]

    2008年10月6日 | 归档于 web构架
  • http状态码一览表

    http状态码一览表参考,中英对照
        1**:请求收到,继续处理    2**:操作成功收到,分析、接受    3**:完成此请求必须进一步处理    4**:请求包含一个错误语法或不能完成    5**:服务器执行一个完全有效请求失败    100——客户必须继续发出请求    101——客户要求服务器根据请求转换HTTP协议版本    200——交易成功    201——提示知道新文件的URL    202——接受和处理、但处理未完成    203——返回信息不确定或不完整    204——请求收到,但返回信息为空    205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件    206——服务器已经完成了部分用户的GET请求    300——请求的资源可在多处得到    301——删除请求数据    302——在其他地址发现了请求数据    303——建议客户访问其他URL或访问方式    304——客户端已经执行了GET,但文件未变化    305——请求的资源必须从服务器指定的地址得到    306——前一版本HTTP中使用的代码,现行版本中不再使用    307——申明请求的资源临时性删除    400——错误请求,如语法错误    401——请求授权失败    402——保留有效ChargeTo头响应    403——请求不允许    404——没有发现文件、查询或URl    [...]

    2008年9月25日 | 归档于 web构架
  • sysbench 的安装和做性能测试

    本文系转载
    原文作者:叶金荣
    原文地址:http://imysql.cn/node/312
    sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看:http://sysbench.sourceforge.net。
    它主要包括以下几种方式的测试:
    1、cpu性能
    2、磁盘io性能
    3、调度程序性能
    4、内存分配及传输速度
    5、POSIX线程性能
    6、数据库性能(OLTP基准测试)
    目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。
    一、安装
    首先,在 http://sourceforge.net/projects/sysbench 下载源码包。
    接下来,按照以下步骤安装:
    tar zxf sysbench-0.4.8.tar.gz
    cd sysbench-0.4.8
    ./configure && make && make install
    strip /usr/local/bin/sysbench
    以上方法适用于 MySQL 安装在标准默认目录下的情况,如果 MySQL 并不是安装在标准目录下的话,那么就需要自己指定 MySQL 的路径了。比如我的 MySQL 喜欢自己安装在 /usr/local/mysql 下,则按照以下方法编译:
    /configure –with-mysql-includes=/usr/local/mysql/include –with-mysql-libs=/usr/local/mysql/lib && make && make install
    当然了,用上面的参数编译的话,就要确保你的 MySQL lib目录下有对应的 so 文件,如果没有,可以自己下载 devel 或者 share 包来安装。
    另外,如果想要让 sysbench 支持 pgsql/oracle 的话,就需要在编译的时候加上参数
    –with-pgsql
    或者
    –with-oracle
    这2个参数默认是关闭的,只有 MySQL 是默认支持的。
    二、开始测试
    编译成功之后,就要开始测试各种性能了,测试的方法官网网站上也提到一些,但涉及到 OLTP 测试的部分却不够准确。在这里我大致提一下:
    1、cpu性能测试
    sysbench –test=cpu –cpu-max-prime=20000 run
    cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为 20000,自己可以根据机器cpu的性能来适当调整数值。
    2、线程测试
    sysbench –test=threads –num-threads=64 –thread-yields=100 –thread-locks=2 [...]

    2008年9月12日 | 归档于 web构架
    标签:
  • 解决 vsftpd 日志时间问题

    最近发现 vsftpd 的日志记录 vsftpd.log 里显示的文件修改时间与实际的系统时间不一致,一般都差了8个小时。搜索了一下,因为默认情况下, vsftpd 使用的是 GMT 标准时间,而不是 Local Time 。修改也很简单:
    # 修改vsftpd 的配置文件 vsftpd.conf
    # 不一定是这个路径
    vi /etc/vsftpd/vsftpd.conf
    在配置文件里加入一行:
    use_localtime=YES
    保存之后重启 vsftpd 即可。
    如果是用 xinetd 的方式来启动,要注意把配置文件中的listen参数值改为NO,否则 vsftpd 重启之后问题依旧。

    2008年8月29日 | 归档于 web构架
    标签:
  • High Performance PHP – Installing eAccelerator on FreeBSD

    eAccelerator is a PHP caching system, which caches frequently used portions of PHP files to RAM to increase performance. This is especially great on high traffic websites such as forums. Performance gains of up to 1000% have been seen with eAccelerator. The following tutorial is how to install eAccelerator on FreeBSD using ports.
    Using ports, compile [...]

    2008年8月17日 | 归档于 web构架
‘web构架’ 分类的存档