Rootop 服务器运维与web架构

2013-01-29
发表者 Venus
暂无评论

2002 – 服务器没有响应 (or the local MySQL server’s socket is not correctly configured)

     之前yum安装过mysql,今天把mysql5.5版本正式加到生产环境中,登陆phpmyadmin配置用户的时候报错:

2002 – 服务器没有响应 (or the local MySQL server’s socket is not correctly configured)

说socket没有正确配置。

/etc/mysql.cnf   socket位置为/tmp/mysql.sock ,用phpinfo查看的socket路径为之前老版本数据库位置。

我这里解决方法是:

mv /var/lib/mysql /var/lib/mysql_bak && mkdir /var/lib/mysql && chmod 777 /var/lib/mysql

然后修改my.cnf为:

socket = /var/lib/mysql/mysql.sock

重启服务解决。

另一个方法是修改php.ini:

mysql.default_socket =   /tmp/mysql.sock   //网上有的朋友们说没效果,不知原因。我这里可以。

mysqli.default_socket = /tmp/mysql.sock

mysql

MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.77
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib64/mysql -lmysqlclient

 

Directive Local Value Master Value
mysql.allow_local_infile On On
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket /tmp/mysql.sock /tmp/mysql.sock
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off

 

mysqli

MysqlI Support enabled
Client API library version 5.0.77
Active Persistent Links 0
Inactive Persistent Links 0
Active Links 0
Client API header version 5.0.95
MYSQLI_SOCKET /var/lib/mysql/mysql.sock

 

Directive Local Value Master Value
mysqli.allow_local_infile On On
mysqli.allow_persistent On On
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket /tmp/mysql.sock /tmp/mysql.sock
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.max_persistent Unlimited Unlimited
mysqli.reconnect Off Off

2013-01-26
发表者 Venus
暂无评论

Server 2012、SQL 2012官网下载

SQL 2012 包含x86、x64:

http://download.microsoft.com/download/3/6/D/36D2717C-2C51-4FFF-897C-866F0C16D38F/CHS/SQLFULL_CHS.iso

Server 2012 :

http://care.dlservice.microsoft.com/download/2/8/7/287E63DD-3A27-4469-9094-5F7B7C4BF828/9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_ZH-CN-HRM_SSS_X64FREE_ZH-CN_DV5.ISO?lcid=2052&cprod=winsvr2012rtmisotn

2013-01-25
发表者 Venus
暂无评论

mysql自动清理二进制日志

原文来自:http://blog.csdn.net/cdefg198/article/details/7063524

1:二进制日志

二进制日志记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不记录包括数据查询的语句。语句以“事件”的形式保存,它描述了数据的更改过程,此日志对于灾难时的数据恢复起着极其重要的作用。

2:日志的位置和格式

当用log-bin[=file_name]选项启动时,mysqld将包含所有更新数据的SQL命令写入日志文件。如果没有给出file_name值,默认名为主机名后面跟_bin,如果给出了文件名,但没有包含路劲,则文件默认被写入参数DATADIR(数据目录)指定的目录。

3:日志的读取

由于日志以二进制的方式存储,不能直接读取,需要用mysqlbinlog工具来查看,语法如下:

#mysqlbinlog log_file

4:日志的删除

对于比较繁忙的OLTP系统,由于每天生产日志量大,这些日志如果长时间不清理,将会对磁盘空间带来很大的浪费,甚至导致系统崩溃,因此,定期删除日志是维护Mysql数据库的一个重要工作内容,下面将介绍几种删除日志的常见方法:

(1):

执行“reset master;”命令,该命令将删除所有二进制日志,新日志的编号从“000001” 开始,命令如下

Mysql>reset master;

(2):

执行Purge master logs to ‘mysql-bin.*****’ 命令,该命令将删除“*****” 编号之前的所有日志,下列中删除了“mysql-bin.000015”之前编号的所有日志

Mysql>purge master logs to ‘mysql-bin.000015’;

从结果中发现,编号000015之前的所有日志都已经删除

(3):

执行“purge master logs before ‘yyyy-mm-dd hh24:min:ss’”命令,该命令将删除日期为“yyyy-mm-dd hh24:mi:ss”之前产生的所有日志,下列中删除了日期在“2010-05-22 01:00:00”之前的所有日志

Mysql>purge master logs before ‘2010-05-22 01:00:00’;

(4):

设置参数expire_logs_days=#(days),此参数的含义是设置日志的过期天数,过来指定的天数后日志将会被自动删除,这样将有利于减少DBA管理日志的工作量。

#vi /etc/my.cnf

[mysqld]

expire_logs_days=3

这样,3天前的日志都会被删除,系统自动删除。

2013-01-24
发表者 Venus
暂无评论

IIS7.5搭建php环境 FastCGI方式

php目前最新版:http://windows.php.net/downloads/releases/php-5.4.11-nts-Win32-VC9-x86.zip
php运行环境vc_x64
http://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe
附vc_x86下载地址:
http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe
只需要安装64位
mysql目前最新版:http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.29-win32.msi

配置php:

php直接解压放到c盘根目录,修改php.ini-production为php.ini。

short_open_tag = On     //打开短标签功能

display_errors = On     //配置环境的时候可以打开错误提示

extension_dir=”c:/php/ext”  //模块的位置要定义

extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mbstring.dll    //mysql相关模块都开启

date.timezone = Asia/Shanghai    //默认都没配置区域时间,会报错。

配置IIS:

先安装iis,这步不细述,最重要的部分要勾选 CGI 模块。

我这是win7,Server2008中在 服务器管理器-角色-web服务器-右键-添加角色服务中勾选

选择要配置的站点,选择“处理程序映射”

添加模块映射

注意php-cgi.exe位置,确定。重启iis。

在网站发布后我们一般会启用伪静态功能,但是默认iis没有,需要手动下载安装。下载页面:

http://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

根据相应架构版本下载。

安装后关闭iis窗口,重新打开就会看到url重写了。

2013-01-19
发表者 Venus
暂无评论

Your port 80 is actually used by Microsoft-HTTPAPI/2.0

      客户要用windows做php服务器,没办法,搞久了linux都忘了怎么在windows下配置php环境,直接弄了个一键安装包。启动apache出错:

Your port 80 is actually used by :
Server: Microsoft-HTTPAPI/2.0

      这个问题确实很棘手,开始可以确定是iis或者是迅雷之类的会占用80端口,停掉iis还是报错,迅雷之类的也没开,然后开始检查端口使用情况,发现PID为4名称为System.exe进程占用,可是这个是系统进程。无解~~~
      后来google曰 SQL Server Reporting Services (MSSQLSERVER)  这个服务会占用80端口,停掉!重启动服务。ok~

      或许不仅仅是这个服务会占用,如果停止这个也检查不出来,那就把系统安装完之后安装的各种开发工具、数据库之类的服务停掉试试。