PHPMySQL的安装与配置详解
⼀、安装配置PHP
#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
#或者以下配置应⽤过滤
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
⼆、配置MySql
在php.ini修改以下配置:
#修改php的扩展库⽬录为你的实际路径
extension_dir = "D:/Software/GreenSoft/Php/php5.4.6/ext"
#去掉 #extension=php_mysql.dll前⾯的#号
extension=php_mysql.dll
三、安装MySql
下载安成相应版本的压缩包后。解压⾄相应的⽬录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\f
#启动服务程序
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端⼝
rverid = 1
socket = /tmp/mysql.sock
badir="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-t-rver=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连接的侦听队列的⼤⼩。不同的操作系统在这个队列query_cache_size=32 # 查询缓存⼤⼩,⽤于缓存SELECT查询结果
read_buffer_size=4M #默认为64K,# ⽤于对MyISAM表全表扫描时使⽤的缓冲区⼤⼩。针对每个线程进⾏分配(前提是进⾏了全表扫描)。进⾏排序查询时,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次/秒。如果设为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
badir = path使⽤给定⽬录作为根⽬录(安装⽬录)。
character-ts-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_ca_table_name
= 1/0
新⽬录和数据表的名字是否只允许使⽤⼩写字母; 这个选项在Windows环境下的默认设置是1(只允许使⽤⼩写字母)。
character-ts-rver = name新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容,这个字符集也可以⽤–default-character-t选项给出; 但这个选项已经显得有点过时了。collation-rver = name新数据库或数据表的默认排序⽅式。
lanuage = name⽤指定的语⾔显⽰出错信息。
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-ur-create只有在mysql.ur数据库表上拥有INSERT权限的⽤户才能使⽤GRANT命令; 这是⼀种双保险机制(此⽤户还必须具备GRANT权限才能执⾏GRANT命令)。shared-memory允许使⽤内存(shared memory)进⾏通信(仅适⽤于Windows)。
shared-memory-ba-name =
name
给共享内存块起⼀个名字(默认的名字是MySQL)。
skip-grant-tables不使⽤mysql数据库⾥的信息来进⾏访问控制(警告:这将允许⽤户任何⽤户去修改任何数据库)。
skip-host-cache不使⽤⾼速缓存区来存放主机名和IP地址的对应关系。
skip-name-resovle不把IP地址解析为主机名; 与访问控制(mysql.ur数据表)有关的检查全部通过IP地址⾏进。
skip-networking 只允许通过⼀个套接字⽂件(Unix/Linux系统)或通过命名管道(Windows系统)进⾏本地连接,不允许ICP/IP连接; 这提⾼了安全性,但阻断了来⾃⽹络的外部连接和所有的Java客户程序(Java客户即使在本地连接⾥也使⽤TCP/IP)。
ur = name mysqld程序在启动后将在给定UNIX/Linux账户下执⾏; mysqld必须从root账户启动才能在启动后切换到另⼀个账户下执⾏; mysqld_safe脚本将默认使⽤–ur=mysql选项来启动mysqld程序。
bulk_inrt_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数据表并存⼊⼀个临时⽂件。
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不把给定数据库⾥的变化情况记⼊⼆进制⽇志⽂件。
sync_binlog = n每经过n次⽇志写操作就把⽇志⽂件写⼊硬盘⼀次(对⽇志信息进⾏⼀次同步)。n=1是最安全的做法,但效率最低。默认设置是n=0,意思是由操作系统来负责⼆进制⽇志⽂件的同步⼯作。log-update [= file]记载出错情况的⽇志⽂件名(出错⽇志)。这种⽇志功能⽆法禁⽤。如果没有给出file参数,MySQL会使⽤作为种⽇志⽂件的名字。
rver-id = n给服务器分配⼀个独⼀⽆⼆的ID编号; n的取值范围是1~2的32次⽅启⽤⼆进制⽇志功能。
log-bin = name启⽤⼆进制⽇志功能。这种⽇志的⽂件名是filename.n或默认的hostname.n,其中的n是⼀个6位数字的整数(⽇志⽂件顺序编号)。
binlog-do/ignore-db = dbname只把给定数据库⾥的变化情况记⼊⼆进制⽇志⽂件/不把给定的数据库⾥的变化记⼊⼆进制⽇志⽂件。
rver-id = n给服务器分配⼀个唯⼀的ID编号
log-slave-updates启⽤从属服务器上的⽇志功能,使这台计算机可以⽤来构成⼀个镜像链(A->B->C)。
master-host =
hostname
主控服务器的主机名或IP地址。如果从属服务器上存在mater.info⽂件(镜像关系定义⽂件),它将忽略此选项。
master-ur =
replicurname
从属服务器⽤来连接主控服务器的⽤户名。如果从属服务器上存在mater.info⽂件,它将忽略此选项。
master-password =
passwd
从属服务器⽤来连接主控服务器的密码。如果从属服务器上存在mater.info⽂件,它将忽略此选项。
master-port = n从属服务器⽤来连接主控服务器的TCP/IP端⼝(默认设置是3306端⼝)。
master-connect-retry =
n
如果与主控服务器的连接没有成功,则等待n秒(s)后再进⾏管理⽅式(默认设置是60s)。如果从属服务器存在mater.info⽂件,它将忽略此选项。
master-ssl-xxx = xxx对主、从服务器之间的SSL通信进⾏配置。
read-only = 0/10: 允许从属服务器独⽴地执⾏SQL命令(默认设置); 1: 从属服务器只能执⾏来⾃主控服务器的SQL命令。
read-log-purge = 0/11: 把处理完的SQL命令⽴刻从中继⽇志⽂件⾥删除(默认设置); 0: 不把处理完的SQL命令⽴刻从中继⽇志⽂件⾥删除。
replicate-do-table =
dbname.tablename
与–replicate-do-table选项的含义和⽤法相同,但数据库和数据库表名字⾥允许出现通配符”%” (例如: test%.%–对名字以”test”开头的所有数据库⾥的所以数据库表进⾏镜像处理)。
replicate-do-db = name只对这个数据库进⾏镜像处理。
replicate-ignore-table =
dbname.tablename
不对这个数据表进⾏镜像处理。
replicate-wild-ignore-
table = dbn.tablen
不对这些数据表进⾏镜像处理。
replicate-ignore-db =
dbname
不对这个数据库进⾏镜像处理。
replicate-rewrite-db =
db1name > db2name
把主控数据库上的db1name数据库镜像处理为从属服务器上的db2name数据库。
report-host = hostname从属服务器的主机名; 这项信息只与SHOW SLAVE HOSTS命令有关–主控服务器可以⽤这条命令⽣成⼀份从属服务器的名单。
slave-compresd-
protocol = 1
主、从服务器使⽤压缩格式进⾏通信–如果它们都⽀持这么做的话。
slave-skip-errors = n1, n2, …或all 即使发⽣出错代码为n1、n2等的错误,镜像处理⼯作也继续进⾏(即不管发⽣什么错误,镜像处理⼯作也继续进⾏)。如果配置得当,从属服务器不应该在执⾏ SQL命令时发⽣错误(在主控服务器上执⾏出错的SQL命令不会被发送到从属服务器上做镜像处理); 如果不使⽤slave-skip-errors选项,从属服务器上的镜像⼯作就可能因为发⽣错误⽽中断,中断后需要有⼈⼯参与才能继续进⾏。
skip-innodb不加载InnoDB数据表驱动程序–如果⽤不着InnoDB数据表,可以⽤这个选项节省⼀些内存。
innodb-file-per-table为每⼀个新数据表创建⼀个表空间⽂件⽽不是把数据表都集中保存在中央表空间⾥(后者是默认设置)。该选项始见于MySQL 4.1。
innodb-open-file = n InnoDB数据表驱动程序最多可以同时打开的⽂件数(默认设置是300)。如果使⽤了innodb-file-per-table选项并且需要同时打开很多数据表的话,这个数字很可能需要加⼤。innodb_data_home_dir = p InnoDB主⽬录,所有与InnoDB数据表有关的⽬录或⽂件路径都相对于这个路径。在默认的情况下,这个主⽬录就是MySQL的数据⽬录。
innodb_data_file_path = ts ⽤来容纳InnoDB为数据表的表空间: 可能涉及⼀个以上的⽂件; 每⼀个表空间⽂件的最⼤长度都必须以字节(B)、兆字节(MB)或千兆字节(GB)为单位给出; 表空间⽂件的名字必须以分号隔开; 最后⼀个表空间⽂件还可以带⼀个autoextend属性和⼀个最⼤长度(max:n)。例如,ibdata1:1G; ibdata2:1G:autoextend:max:2G的意思是: 表空间⽂件ibdata1的最⼤长度是1GB,ibdata2的最⼤长度也是1G,但允许它扩充到2GB。除⽂件名外,还可以⽤硬盘分区的设置名来定义表空间,此时必须给表空间的最⼤初始长度值加上newraw关键字做后缀,给表空间的最⼤扩充长度值加上raw关键字做后缀(例如/dev/hdb1: 20Gnewraw或/dev/hdb1:20Graw); MySQL 4.0及更⾼版本的默认设置是ibdata1:10M:autoextend。
innodb_autoextend_increment
= n
带有autoextend属性的表空间⽂件每次加⼤多少兆字节(默认设置是8MB)。这个属性不涉及具体的数
据表⽂件,那些⽂件的增⼤速度相对是⽐较⼩的。
innodb_lock_wait_timeout = n 如果某个事务在等待n秒(s)后还没有获得所需要的资源,就使⽤ROLLBACK命令放弃这个事务。这项设置对于发现和处理未能被InnoDB数据表驱动程序识别出来的死锁条件有着重要的意义。这个选项的默认设置是50s。
innodb_fast_shutdown 0/1是否以最快的速度关闭InnoDB,默认设置是1,意思是不把缓存在INSERT缓存区的数据写⼊数据表,那些数据将在MySQL服务器下次启动时再写⼊ (这么做没有什么风险,因为INSERT缓存区是表空间的⼀个组成部分,数据不会丢失)。把这个选项设置为0反⾯危险,因为在计算机关闭时,InnoDB 驱动程序很可能没有⾜够的时间完成它的数据同步⼯作,操作系统也许会在它完成数据同步⼯作之前强⾏结束InnoDB,⽽这会导致数据不完整。
innodb_log_group_home_dir = p⽤来存放InnoDB⽇志⽂件的⽬录路径(如ib_logfile0、ib_logfile1等)。在默认的情况下,InnoDB驱动程序将使⽤ MySQL数据⽬录作为⾃⼰保存⽇志⽂件的位置。
innodb_log_files_in_group = n 使⽤多少个⽇志⽂件(默认设置是2)。InnoDB数据表驱动程序将以轮转⽅式依次填写这些⽂件; 当所有的⽇志⽂件都写满以后,之后的⽇志信息将写⼊第⼀个⽇志⽂件的最⼤长度(默认设置是5MB)。这个长度必须以MB(兆字节)或GB(千兆字节)为单位进⾏设置。
innodb_flush_log_at_trx_commit = 0/1/2这个选项决定着什么时候把⽇志信息写⼊⽇志⽂件以及什么时候把这些⽂件物理地写(术语称为”同步”)到硬盘上。设置值0的意思是每隔⼀秒写⼀次⽇志并进⾏同步,这可以减少硬盘写操作次数,但可能造成数据丢失; 设置值1(设置设置)的意思是在每执⾏完⼀条COMMIT命令就写⼀次⽇志并进⾏同步,这可以防⽌数据丢失,但硬盘写操作可能会很频繁; 设置值2是⼀般折衷的办法,即每执⾏完⼀条COMMIT命令写⼀次⽇志,每隔⼀秒进⾏⼀次同步。
innodb_flush_method = x InnoDB⽇志⽂件的同步办法(仅适⽤于UNIX/Linux系统)。这个选项的可取值有两种: fdatasync,⽤fsync()函数进⾏同步; O_DSYNC,⽤O_SYNC()函数进⾏同步。
innodb_log_archive = 1启⽤InnoDB驱动程序的archive(档案)⽇志功能,把⽇志信息写⼊ib_arch_log_n⽂件。启⽤这种⽇志功能在InnoDB与 MySQL⼀起使⽤时没有多⼤意义(启⽤MySQL服务器的⼆进制⽇志功能就⾜够⽤了)。innodb_log_buffer_pool_size = n
为InnoDB数据表及其索引⽽保留的RAM内存量(默认设置是8MB)。这个参数对速度有着相当⼤的影响,如果计算机上只运⾏有 MySQL/InnoDB数据库服务器,就应该把全部内存的80%⽤于这个⽤途。
innodb_log_buffer_size = n事务⽇志⽂件写操作缓存区的最⼤长度(默认设置是1MB)。
innodb_additional_men_pool_size = n为⽤于内部管理的各种数据结构分配的缓存区最⼤长度(默认设置是1MB)。
innodb_file_io_threads = n I/O操作(硬盘写操作)的最⼤线程个数(默认设置是4)。
innodb_thread_concurrency = n InnoDB驱动程序能够同时使⽤的最⼤线程个数(默认设置是8)。
bind-address = ipaddr MySQL服务器的IP地址。如果MySQL服务器所在的计算机有多个IP地址,这个选项将⾮常重要。
default-storage-engine = type新数据表的默认数据表类型(默认设置是MyISAM)。这项设置还可以通过–default-table-type选项来设置。
default-timezone = name为MySQL服务器设置⼀个地理时区(如果它与本地计算机的地理时区不⼀样)。
ft_min_word_len = n全⽂索引的最⼩单词长度⼯。这个选项的默认设置是4,意思是在创建全⽂索引时不考虑那些由3个或更少的字符构建单词。
Max-allowed-packet = n客户与服务器之间交换的数据包的最⼤长度,这个数字⾄少应该⼤于客户程序将要处理的最⼤BLOB块的长度。这个选项的默认设置是1MB。
Sql-mode = model1, mode2, …MySQL将运⾏在哪⼀种SQL模式下。这个选项的作⽤是让MySQL与其
他的数据库系统保持最⼤程度的兼容。这个选项的可取值包括ansi、db2、 oracle、no_zero_date、pipes_as_concat。
ps:Linux系统安装PHP的MySQL扩展模块⽀持
PHP Fatal error: Call to undefined function mysql_connect();
在使⽤中出现了这个问题,查看了⼀下phpinfo发现没有mysql扩展。
步骤如下:
1 进⼊php的安装⽬录
cd 到ext/mysql
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config --with-mysql=/usr/local/mysql/
make
make install
在mysql/modules下看到了mysql.so
2 修改php.ini
添加extensions = "mysql.so"
3 将mysql.so拷贝到extension_dir⽬录下,extension_dir在php.ini中设置
4重启apache就可以了。