MYSQL配置文档(史上最具体讲解)

来源:互联网 发布:plc编程软件在哪下载 编辑:程序博客网 时间:2024/06/08 20:08

[client]   这个配置把指令传递给与MySQL服务器相关的客户

#password = your_password

port = 3336     #配置mysql客户端与服务端的连接端口。两端必需一致。

default-character-set=gbk

socket = /tmp/mysql.sock

[mysqld]    在这个配置段之内,将会看到与MySQL守护进程相关的命令。

port = 3336

socket = /tmp/mysql.sock MySQL套接字把数据库程序局部的或通过网络连接到MySQL客户

basedir=/usr/local/tdoa/mysql   #使用给定目录作为根目录(安装目录)

datadir=/usr/local/tdoa/data5   #从给定目录读取数据库文件。

log-error = /usr/local/tdoa/logs/mysql/mysql_error.log

tmpdir=/tmp

character-set-server=gbk  #新数据库或数据表的默认字符集

lower_case_table_names=1  #新目录和数据表的名字是否只允许使用小写字母; 1(只允许使

用小写字母)

wait_timeout=30     #服务器关闭交互式连接前等待活动的秒数.指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设 

                    置为5-10

interactive_timeout=30  #服务器关闭交互式连接前等待活动的秒数。

skip-name-resolve      #不把IP地址解析为主机名与访问控制(mysql.user数据表)有关的

检查全部通过IP地址行进。

bind-address=0.0.0.0 #MySQL服务器的IP地址。如果MySQL服务器所在的计算机有多个IP

地址,这个选项将非常重要。

innodb_file_per_table=4  #//innodb引擎独立表空间1开启0关闭

innodb_open_files=2048    #每个用户进程可以打开的数据库

back_log = 500   #接受队列,对于没建立tcp连接的请求队列放入缓存中,队列大小为

back_log,受限制与OS参数  

max_connections = 1000  #最大并发连接数 ,增大该值需要相应增加允许打开的文件描述

符数

max_connect_errors = 100 #如果某个用户发起的连接error超过该数值,则该用户的下次连接 

                       将被阻塞,直到管理员执行flush hosts ; 命令;防止黑客  

table_open_cache = 2048  #允许保留在缓存中表的个数

max_allowed_packet = 32M  #限定最大接受数据包的大小

binlog_cache_size = 1M   #mysql的二进制日志的作用是相当大的,既可作为mysql复制时使用,也可以恢复数据

max_heap_table_size = 256M #HEAP数据表的最大长度(默认设置是16M); 超过这个长度的

HEAP数据表将被存入一个临时文件而不是驻留在内存里。

read_buffer_size = 16M #以全表扫描(Sequential Scan)方式扫描数据的buffer大小 ;线程级别 

read_rnd_buffer_size = 16M #以索引扫描(Random Scan)方式扫描数据的buffer大小 ;线程级  

                        别 

sort_buffer_size = 16M  #排序buffer大小;线程级别  

join_buffer_size = 32M  # join buffer 大小;线程级别

thread_cache_size = 64   #建议根据物理内存设置规则如下:
1G => 82G => 163G => 32,大于3G => 64

thread_concurrency = 8 #该参数取值为服务器逻辑CPU数量×2,在本例中,服务器有2颗物理CPU,而每颗物理CPU又支持H.T超线程,所以实际取值为4 × 2 = 8

query_cache_size = 256M  #查询缓存区的最大长度(默认设置是0,不开辟查询缓存区)

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

1M)

ft_min_word_len = 4 #全文索引的最小单词长度工。这个选项的默认设置是4,意思是在创建

全文索引时不考虑那些由3个或更少的字符构建单词。

default-storage-engine = Innodb #新数据表的默认数据表类型(默认设置是MyISAM)。这项设

置还可以通过–default-table-type选项来设置。

thread_stack = 192K

transaction_isolation = REPEATABLE-READ  #数据库隔离级别

tmp_table_size = 256M #临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的

                         临时数据表将被转换为MyISAM数据表并存入一个临时文件

max_tmp_tables=512

slow_query_log

long_query_time = 5  #慢查询的执行用时上限(默认设置是10s)

server-id = 1   #给服务器分配一个独一无二的ID编号; n的取值范围是1~232次方启用

二进制日志功能。

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

#bulk_insert_buffer_size = 64M

#myisam_sort_buffer_size = 128M #MyISAM 设置恢复表之时使用的缓冲区的尺寸,当在

                              REPAIR TABLE或用CREATE INDEX创建索引或 

                             ALTER TABLE过程中排序 MyISAM索引分配的缓冲区  

#myisam_max_sort_file_size = 30G  #MyISAM 如果临时文件会变得超过索引,不要使用快 

                                速排序索引方法来创建一个索引。注释:这个参数以字 

                                节的形式给出.重建MyISAM索引(REPAIR TABLE

                                ALTER TABLELOAD DATA INFILE过程中)时,允

                                许MySQL使用的临时文件的最大空间大小。如果文件

                                的大小超过该值,则使用键值缓存创建索引,要慢得多。

                                 该值的单位为字节  

#myisam_repair_threads = 1 #如果该值大于1,在Repair by sorting过程中并行创建MyISAM

                        表索引(每个索引在自己的线程内

#myisam_recover        #允许的GROUP_CONCAT()函数结果的最大长度

# *** INNODB Specific options ***

innodb_additional_mem_pool_size = 16M  #帧缓存的控制对象需要从此处申请缓存,所以

该值与innodb_buffer_pool对应  

innodb_buffer_pool_size = 16M  # 包括数据页、索引页、插入缓存、锁信息、自适应哈希所

以、数据字典信息

innodb_data_file_path = ibdata1:10M:autoextend

#innodb_data_home_dir = <directory>

innodb_write_io_threads = 8

innodb_read_io_threads = 8

#innodb_force_recovery=1

innodb_thread_concurrency = 8  #InnoDB驱动程序能够同时使用的最大线程个数(默认设置

8)

innodb_flush_log_at_trx_commit = 0   #每次commit 日志缓存中的数据刷到磁盘中1

                                  表缓存到磁盘中

#innodb_fast_shutdown 1   #是否以最快的速度关闭InnoDB,默认设置是1,意思是不把缓存在INSERT缓存区的数据写入数据表,那些数据将在MySQL服务器下次启动时再写入 (这么做没有什么风险,因为INSERT缓存区是表空间的一个组成部分,数据不会丢失)。把这个选项设置为0反面危险,因为在计算机关闭时,InnoDB 驱动程序很可能没有足够的时间完成它的数据同步工作,操作系统也许会在它完成数据同步工作之前强行结束InnoDB,而这会导致数据不完整。

innodb_log_buffer_size = 8M      #事物日志缓存

innodb_log_file_size = 128M        #事物日志大小  

innodb_log_files_in_group = 2        #两组事物日志  

#innodb_log_group_home_dir  #用来存放InnoDB日志文件的目录路径(ib_logfile0ib_logfile1)。在默认的情况下,InnoDB驱动程序将使用 MySQL数据目录作为自己保存日志文件的位置。

innodb_max_dirty_pages_pct = 80    #innodb主线程刷新缓存池中的数据,使脏数据比例小 

                                 于90%  

#innodb_flush_method=O_DSYNC #InnoDB日志文件的同步办法(仅适用于UNIX/Linux

)。这个选项的可取值有两种: fdatasync,用fsync()

数进行同步; O_DSYNC,用O_SYNC()函数进行同步。

innodb_lock_wait_timeout = 60     #InnoDB事务在被回滚之前可以等待一个锁定的超时秒

数。InnoDB在它自己的 锁定表中自动检测事务死锁并

且回滚事务。InnoDBLOCK TABLES语句注意到锁

定设置。默认值是50秒  

[mysql]

default-character-set=gbk

#no-auto-rehash   #这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash

                确保这个服务启动得比较快

# Remove the next comment character if you are not fmiliar with SQL

#safe-updates  

 

本文出自 “技术成就未来” 博客,请务必保留此出处http://jishuweiwang.blog.51cto.com/6977090/1208376

0 0