时间:2021-07-01 10:21:17 帮助过:28人阅读
1、下载Php的版本zip包之后,解压缩到指定目录。下载地址:http://www.php.com/downloads.php
2、在Apache的httpd.conf文件中加入以下
#Php模块加载
LoadModule php5_module "D:/Software/GreenSoft/Php/php5.4.6/php5apache2_2.dll"
#php.ini路径设置
PHPIniDir "D:/Software/GreenSoft/Php/php5.4.6/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#加入后缀名过滤
AddHandler application/x-httpd-php .php
#或者以下配置应用过滤
SetHandler application/x-httpd-php
二、配置MySql
在php.ini修改以下配置:
#修改php的扩展库目录为你的实际路径
extension_dir = "D:/Software/GreenSoft/Php/php5.4.6/ext"
#去掉 #extension=php_mysql.dll前面的#号
extension=php_mysql.dll
三、安装MySql
MySql的下载地址:http://www.mysql.com/downloads/
下载安成相应版本的压缩包后。解压至相应的目录D:\Software\GreenSoft\MySql\MySql56 。
1. 将Mysql安装成服务
在Windows环境变量的系统变量Path中追加D:\Software\GreenSoft\MySql\MySql56\bin; ,并在Dos窗口中输入以下命令:
#进入mysql的bin目录 cd D:\Software\GreenSoft\MySql\MySql56\bin #停掉之前开启的mysql进程 mysqladmin -u root -p debug shutdown #安装mysql服务。指定服务名MySql56,配置文件名路径 mysqld --install MySql56 --defaults-file=D:\Software\GreenSoft\MySql\MySql56\my.cnf #启动服务程序 net start MySql56 #停止服务程序 net stop MySql56 / mysqladmin -u root shutdown #移除服务 mysqld --remove MySql56 / sc delete MySql56 #测试MySql mysqlshow mysqlshow -u root MySql56 mysqladmin version status proc mysql test
2.配置MySql配置文件
port=3306 # mysql服务端默认监听(listen on)的TCP/IP端口 serverid = 1 socket = /tmp/mysql.sock basedir="D:/Software/GreenSoft/MySql/MySql56/" # 基准根路径 datadir="E:/DataRoot/MySqlData/" # mysql数据库文件所在目录 log-error="D:/Software/GreenSoft/MySql/MySql56/log/error.log" #错误日志文件 log-slow-queries="D:/Software/GreenSoft/MySql/MySql56/log/slow-query.log" character-set-server=latin1 # 服务端使用的字符集默认为8比特编码的latin1字符集 default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎 wait_timeout = 10 #指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设置为5-10 sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # SQL模式为strict模式 max_connect_errors = 10000000 max_connections=100 # mysql服务器支持的最大并发连接数 back_log = 384 #back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自己的限制。 试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。 query_cache_size=32 # 查询缓存大小,用于缓存SELECT查询结果 read_buffer_size=4M #默认为64K,# 用于对MyISAM表全表扫描时使用的缓冲区大小。针对每个线程进行分配(前提是进行了全表扫描)。进行排序查询时,MySql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySql会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。 read_rnd_buffer_size=16M #默认为256K key_buffer_size=54M # Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读) sort_buffer_size=32M #默认为256K,connection级参数(为每个线程配置),500个线程将消耗500*256K的sort_buffer_size join_buffer_size = 8M #联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的分配内存也是每连接独享。 skip-locking #避免MySQL的外部锁定,减少出错几率增强稳定性。 skip-name-resolve #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求! skip-networking #开启该选项可以彻底关闭MySQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项!否则将无法正常连接! table_cache=1024 #物理内存越大,设置就越大.默认为2402,调到512-1024最佳 table_open_cache = 256 # 设置table高速缓存的数量 tmp_table_size=34M # 内存中的每个临时表允许的最大大小,默认为16M,调到64-256最挂 thread_cache_size=120 #默认为60 缓存的最大线程数 thread_concurrency = 8 #该参数取值为服务器逻辑CPU数量*2,在本例中,服务器有2颗物理CPU,而每颗物理CPU又支持H.T超线程,所以实际取值为4*2=8 # InnoDB相关参数 innodb_additional_mem_pool_size=3M # InnoDB用于存储元数据信息的内存池大小,一般不需修改 innodb_buffer_pool_size=105M # InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%。 innodb_flush_log_at_trx_commit =1 # 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。 innodb_log_buffer_size=2M # InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。 innodb_log_file_size=53M # 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100% innodb_thread_concurrency=9 # InnoDB内核最大并发线程数 # MyISAM相关参数 myisam_max_sort_file_size=100G # mysql重建索引时允许使用的临时文件最大大小 myisam_sort_buffer_size=68M
配置说明:
basedir = path | 使用给定目录作为根目录(安装目录)。 |
character-sets-dir = path | 给出存放着字符集的目录。 |
datadir = path | 从给定目录读取数据库文件。 |
pid-file = filename | 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。 |
socket = filename | 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/mysql.sock文件)。在Windows环境下,如果MySQL客户与服务器是通过命名管道进行通信 的,–sock选项给出的将是该命名管道的名字(默认设置是MySQL)。 |
lower_case_table_name = 1/0 | 新目录和数据表的名字是否只允许使用小写字母; 这个选项在Windows环境下的默认设置是1(只允许使用小写字母)。 |
mysqld程序:语言设置
character-sets-server = name | 新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容,这个字符集也可以用–default-character-set选项给出; 但这个选项已经显得有点过时了。 |
collation-server = name | 新数据库或数据表的默认排序方式。 |
lanuage = name | 用指定的语言显示出错信息。 |
mysqld程序:通信、网络、信息安全
enable-named-pipes | 允许Windows 2000/XP环境下的客户和服务器使用命名管道(named pipe)进行通信。这个命名管道的默认名字是MySQL,但可以用–socket选项来改变。 |
local-infile [=0] | 允许/禁止使用LOAD DATA LOCAL语句来处理本地文件。 |
myisam-recover [=opt1, opt2, ...] | 在启动时自动修复所有受损的MyISAM数据表。这个选项的可取值有4种:DEFAULT、BACKUP、QUICK和FORCE; 它们与myisamchk程序的同名选项作用相同。 |
old-passwords | 使用MySQL 3.23和4.0版本中的老算法来加密mysql数据库里的密码(默认使用MySQL 4.1版本开始引入的新加密算法)。 |
port = n | 为MySQL程序指定一个TCP/IP通信端口(通常是3306端口)。 |
safe-user-create | 只有在mysql.user数据库表上拥有INSERT权限的用户才能使用GRANT命令; 这是一种双保险机制(此用户还必须具备GRANT权限才能执行GRANT命令)。 |
shared-memory | 允许使用内存(shared memory)进行通信(仅适用于Windows)。 |
shared-memory-base-name = name | 给共享内存块起一个名字(默认的名字是MySQL)。 |
skip-grant-tables | 不使用mysql数据库里的信息来进行访问控制(警告:这将允许用户任何用户去修改任何数据库)。 |
skip-host-cache | 不使用高速缓存区来存放主机名和IP地址的对应关系。 |
skip-name-resovle | 不把IP地址解析为主机名; 与访问控制(mysql.user数据表)有关的检查全部通过IP地址行进。 |
skip-networking | 只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。 |
user = name | mysqld程序在启动后将在给定UNIX/Linux账户下执行; mysqld必须从root账户启动才能在启动后切换到另一个账户下执行; mysqld_safe脚本将默认使用–user=mysql选项来启动mysqld程序。 |
mysqld程序:内存管理、优化、查询缓存区
bulk_insert_buffer_size = n | 为一次插入多条新记录的INSERT命令分配的缓存区长度(默认设置是8M)。 |
key_buffer_size = n | 用来存放索引区块的RMA值(默认设置是8M)。 |
join_buffer_size = n | 在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K)。 |
max_heap_table_size = n | HEAP数据表的最大长度(默认设置是16M); 超过这个长度的HEAP数据表将被存入一个临时文件而不是驻留在内存里。 |
max_connections = n | MySQL服务器同时处理的数据库连接的最大数量(默认设置是100)。 |
query_cache_limit = n | 允许临时存放在查询缓存区里的查询结果的最大长度(默认设置是1M)。 |
query_cache_size = n | 查询缓存区的最大长度(默认设置是0,不开辟查询缓存区)。 |
query_cache_type = 0/1/2 | 查询缓存区的工作模式:0, 禁用查询缓存区; 1,启用查询缓存区(默认设置); 2,”按需分配”模式,只响应SELECT SQL_CACHE命令。 |
read_buffer_size = n | 为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是128KB); 这个选项的设置值在必要时可以用SQL命令SET SESSION read_buffer_size = n命令加以改变。 |
read_rnd_buffer_size = n | 类似于read_buffer_size选项,但针对的是按某种特定顺序(比如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。 |
sore_buffer = n | 为排序操作分配的缓存区的长度(默认设置是2M); 如果这个缓存区太小,则必须创建一个临时文件来进行排序。 |
table_cache = n | 同时打开的数据表的数量(默认设置是64)。 |
tmp_table_size = n | 临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时数据表将被转换为MyISAM数据表并存入一个临时文件。 |
mysqld程序:日志
log [= file] | 把所有的连接以及所有的SQL命令记入日志(通用查询日志); 如果没有给出file参数,MySQL将在数据库目录里创建一个hostname.log文件作为这种日志文件(hostname是服务器的主机名)。 |
log-slow-queries [= file] | 把执行用时超过long_query_time变量值的查询命令记入日志(慢查询日志); 如果没有给出file参数,MySQL将在数据库目录里创建一个hostname-slow.log文件作为这种日志文件(hostname是服务器主机 名)。 |
long_query_time = n | 慢查询的执行用时上限(默认设置是10s)。 |
long_queries_not_using_indexs | 把慢查询以及执行时没有使用索引的查询命令全都记入日志(其余同–log-slow-queries选项)。 |
log-bin [= filename] | 把对数据进行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE命令)以二进制格式记入日志(二进制变更日志,binary update log)。这种日志的文件名是filename.n或默认的hostname.n,其中n是一个6位数字的整数(日志文件按顺序编号)。 |
log-bin-index = filename | 二进制日志功能的索引文件名。在默认情况下,这个索引文件与二进制日志文件的名字相同,但后缀名是.index而不是.nnnnnn。 |
max_binlog_size = n | 二进制日志文件的最大长度(默认设置是1GB)。在前一个二进制日志文件里的信息量超过这个最大长度之前,MySQL服务器会自动提供一个新的二进制日志文件接续上。 |
binlog-do-db = dbname | 只把给定数 据库里的变化情况记入二进制日志文件,其他数据库里的变化情况不记载。如果需要记载多个数据库里的变化情况,就必须在配置文件使用多个本选项来设置,每个数据库一行。 |
binlog-ignore-db = dbname | 不把给定数据库里的变化情况记入二进制日志文件。 |
人气教程排行
|