MySQL配置文件

MySQL配置文件

在Windows下是my.ini,而在Linux下是my.cnf。

 

基本参数

 

port=3306   #端口号

 

server-id=1

 

basedir="C:/Program Files/MySQL/MySQL Server 5.5/" 

#基准路径,其他路径都相对于这个路径

 

datadir="C:/Program Files/MySQL/MySQL Server 5.5/Data" 

#mysql数据库文件所在目录

 

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(只允许使用小写字母)。

 

default-storage-engine=INNODB

# 存储引擎,MySQL 5.5 之后默认就是使用InnoDB做存储引擎

 

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 

# SQL模式为strict模式????

 

 

 

语言设置

 

default-character-set = utf8(有点过时) 

#设置mysql客户端默认字符集

 

character-set-server = utf8

#服务器编码

 

collation-server = utf8_general_ci

#服务器字符集

 

collation-server = name

#新数据库或数据表的默认排序方式。???

 

lanuage = name

#用指定的语言显示出错信息。

 

 

 

内存管理、优化、查询缓存区

bulk_insert_buffer_size = n

# 为一次插入多条新记录的INSERT命令分配的缓存区长度(默认设置是8M)。

 

key_buffer_size = n

# 用来存放索引区块的RMA值(默认设置是8M)。

 

join_buffer_size = n

# 在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K)。

 

read_buffer_size = n

# 为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是128KB); 这个选项的设置值在必要时可以用SQL命令SET SESSION read_buffer_size = n命令加以改变。

 

read_rnd_buffer_size = n

# 类似于read_buffer_size选项,但针对的是按某种特定顺序(比如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。

 

sort_buffer_size = n

# 为排序操作分配的缓存区的长度(默认设置是2M); 如果这个缓存区太小,则必须创建一个临时文件来进行排序。

 

max_connections=100

# mysql服务器支持的最大并发连接数(用户数)。但总会预留其中的一个连接给管理员使用超级权限登录,即使连接数目达到最大限制。如果设置得过小而用户比较多,会经常出现“Too many connections”错误。

 

max_connect_errors = 6000

# 对于同一主机,如果有超出该参数值个数的中断错误连接,则该主机将被禁止连接。如需对该主机进行解禁,执行:FLUSH HOST。

 

query_cache_limit = n

# 允许临时存放在查询缓存区里的查询结果的最大长度(默认设置是1M)。

 

query_cache_size=0

# 查询缓存大小,用于缓存SELECT查询结果。如果有许多返回相同查询结果的SELECT查询,并且很少改变表,可以设置query_cache_size大于0,可以极大改善查询效率。而如果表数据频繁变化,就不要使用这个,会适得其反

 

query_cache_type = 0/1/2

# 查询缓存区的工作模式:0, 禁用查询缓存区; 1,启用查询缓存区(默认设置); 2,”按需分配”模式,只响应SELECT SQL_CACHE命令。

 

table_open_cache=256

# 由于每个客户端连接都会至少访问一个表,因此此参数的值与 max_connections 有关。当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。

 

thread_cache = 128

#缓存可重用的线程数

 

tmp_table_size = n

# 临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时数据表将被转换为MyISAM数据表并存入一个临时文件。

 

 

更多详细在这里:

http://blog.csdn.net/fgdfgasd/article/details/13017689

 

 

参考:

http://www.cnblogs.com/feichexia/archive/2012/11/27/mysqlconf.html

http://blog.sina.com.cn/s/blog_593bf1da0100xznj.html

 

猜你喜欢

转载自youyu4.iteye.com/blog/2333291