mysql标准配置文件以及参数解析

   在mysql安装的时候,配置参数设置的不对往往会造成mysql启动不成功,经过无数次的安装mysql,总结出一套标准的mysql配置参数,

标准版配置参数

####################################################################################   
[mysqld]
#=================general
basedir                            = /usr/local/mysql
datadir                             = /app/mysql/data
socket                              = /usr/local/mysql/mysql.sock
user                                = mysql
port                                = 3306
server_id                           = 10277
character-set-server=utf8
skip-character-set-client-handshake
skip_name_resolve
#=================logs
sync_binlog                         = 0
slave_skip_errors                   = all
log-error                           = /app/mysql/log/err.log
log_bin                             = /app/mysql/data/mysqld-bin
binlog_format                       = MIXED
relay-log                           = /app/mysql/data/mysqld-relay-bin
relay-log-index                     = /app/mysql/data/mysqld-relay-bin.index
relay-log-info-file                 = /app/mysql/data/relay-log.info
expire_logs_days                    = 3
long_query_time                     = 1
slow_query_log_file                 = /app/mysql/log/log-slow-queries.log
slow_query_log                      = 1
#=================setting
net_buffer_length                   = 8K
max_allowed_packet                  = 64M
max_connect_errors                  = 999999999
read_buffer_size                    = 128K
tmp_table_size                      = 32M
max_heap_table_size                 = 40M
wait_timeout                        = 800
interactive_timeout                 = 60
default-storage-engine              = innodb
thread_cache_size                   = 200
max_connections                     = 3000
key_buffer_size                     = 8M
sort_buffer_size                    = 512K
init_connect                        = 'set names utf8'
query_cache_size                    = 200M
query_cache_type                    = 1
explicit_defaults_for_timestamp = 1
#=================myisam&innodb
myisam_sort_buffer_size             = 16M
myisam_max_sort_file_size           = 1G
innodb_data_home_dir                = /app/mysql/data
innodb_log_group_home_dir           = /app/mysql/data
innodb_data_file_path               = ibdata1:512M:autoextend
innodb_autoextend_increment         = 1
innodb_buffer_pool_size             = 512M
innodb_log_file_size                = 512M
innodb_log_files_in_group           = 2
innodb_log_buffer_size              = 16M
innodb_flush_log_at_trx_commit      = 2
innodb_lock_wait_timeout            = 50
innodb_max_dirty_pages_pct          = 90
innodb_thread_concurrency           = 12
innodb_file_per_table               = 1
innodb_flush_method                 = O_DIRECT
innodb_locks_unsafe_for_binlog      = 0
innodb_write_io_threads = 4
innodb_read_io_threads = 4

[client]
port                                = 3306
socket                              = /usr/local/mysql/mysql.sock
#######################################################################################

mysql配置参数
---------------------------------------------------------------------------------------

[mysqld]                
#=================general
basedir= /usr/local/mysql    MYSQL的安装目录                        
datadir   = /app/mysql/data   MYSQL的数据目录                      
socket= /usr/local/mysql/mysql.sock 
user = mysql MYSQL用户名    
port= 3306MYSQL端口
server_id   = 10277用于复制环境中为某master或slave所指定的唯一标识                        
character-set-server=utf8   字符集默认utf8
skip-character-set-client-handshake
skip_name_resolve   设定在检查客户端的连接请求时是否解析主机名
#=================logs
sync_binlog            = 0
slave_skip_errors      = all
log-error       = /app/mysql/log/err.log错误日志路径                      
log_bin   = /app/mysql/data/mysqld-bin        是否启用二进制日志              
binlog_format         = MIXED                             指定二进制日志的类型              
relay-log  
relay-log-index        = /app/mysql/data/mysqld-relay-bin.index
relay-log-info-file    = /app/mysql/data/relay-log.info
expire_logs_days     = 3设置二进制日志的过期天数                
long_query_time   
slow_query_log_file    = /app/mysql/log/log-slow-queries.log    设定慢查询日志文件的路径                
slow_query_log         = 1                                      设定是否启用慢查询日志,0为禁用,1为启用
#=================setting
net_buffer_length   = 8K设定客户端线程的缓冲大小               
max_allowed_packet  = 64M          设定单个报文或任何字符串的最大长度        
max_connect_errors     = 999999999    设定客户端连接mysqld时的最大错误尝试次数       
read_buffer_size      
tmp_table_size        
max_heap_table_size    = 40M          设定Mysql内部内存临时表的体积上限            
wait_timeout           = 800          Mysql服务器关闭非交互式的超时时长             
interactive_timeout      = 60  mysql进程等待一个已经建立连接的交互式客户端的后续命令所经过的秒数
default-storage-engine   = innodb  mysql服务器的默认存储引擎
thread_cache_size        = 200  mysql服务器可以为线程重用缓存的线程的个数
max_connections          = 3000 mysql允许客户端同时发起的最大并发连接数
key_buffer_size          = 8M   所有线程共享的、用于MyLSAM标的索引缓冲空间大小
sort_buffer_size         = 512K 每个会话的排序操作分配的缓冲空间大小
init_connect             = 'set names utf8'
query_cache_size         = 200M 分配给查询缓存使用的整体内存空间大小
query_cache_type         = 1 查询缓存类型 {OFF|ON|DEMAND} 或对应的{0|1|2}
explicit_defaults_for_timestamp = 1
#=================myisam&innodb
myisam_sort_buffer_size             = 16M 为MyLSAM表添加索引时为了对索引排序所能够使用的缓冲空间大小
myisam_max_sort_file_size           = 1G  (物理内存的2倍)为MyLSAM表重新创建索引能够使用的临时文件的体积上限
innodb_data_home_dir                = /app/mysql/data  Innodb所有共享表空间数据文件的目录路径
innodb_log_group_home_dir           = /app/mysql/data  Innodb重做日志文件的存储目录
innodb_data_file_path               = ibdata1:512M:autoextend 指定Innodb的各个数据文件及其大小
innodb_autoextend_increment         = 1  当共享表空间没有多余的存储空间时,允许其自动增长,此变量是设定其单词增长的空间大小
innodb_buffer_pool_size             = 512M (物理内存的70%) Innodb缓存表数据和索引的内存缓冲区大小
innodb_log_file_size                = 512M 日志组中每个文件的大小
innodb_log_files_in_group           = 2    日志组中日志文件的个数,一般默认是2
innodb_log_buffer_size              = 16M Innodb用于辅助完成日志文件写操作的日志缓冲区大小
innodb_flush_log_at_trx_commit      = 2Innodb同步缓冲区数据至日志文件的方式,默认是2,表示每秒一次将日志文件缓冲区写入日志文件,但不会同时执行日志文件的刷写操作
innodb_lock_wait_timeout            = 50  Innodb中某事务图访问一个由其他Innodb事务加锁的行时其最长的等待时间
innodb_max_dirty_pages_pct          = 90  开始延迟的最大长度
innodb_thread_concurrency           = 12  Innodb可在其内部并发运行的操作系统线程数量上限
innodb_file_per_table               = 1Innodb表是否使用了每个表表空间的数据文件
innodb_flush_method                 = O_DIRECT  Innodb实际与文件系统进行交互式的方式,他还影响Innodb如何读取数据。
innodb_locks_unsafe_for_binlog      = 0 Innodb是否在搜索和搜索扫描中使用间隙锁
innodb_write_io_threads = 4   Innodb用于完成写操作的I/O线程数量,默认是4个
innodb_read_io_threads = 4Innodb用于完成写操作的I/O线程数量,默认是4个

[client]
port                                = 3306
socket                              = /usr/local/mysql/mysql.sock
#######################################################################################

如果还是报错,再根据提示报错提示解决。


转载于:https://blog.51cto.com/749806593/1376971