设为首页 收藏本站
查看: 1229|回复: 0

[经验分享] Mysql 之配置文件my.cnf

[复制链接]

尚未签到

发表于 2018-10-1 07:48:36 | 显示全部楼层 |阅读模式
  mysql配置文件为my.cnf,它所在位置根据安装时设定的。
  当mysqld服务启动的时候,默认会按一定的顺序读取配置文件的。
[root@zhu2 ~]# /opt/mysql/libexec/mysqld --verbose --help  
Default options are read from the following files in the given order:
  
/etc/my.cnf /etc/mysql/my.cnf /opt/mysql/etc/my.cnf ~/.my.cnf
  可以发现,系统默认是按/etc/my.cnf-----/etc/mysql/my.cnf----/usr/local/mysql/my.cnf的顺序读取配置文件的,当有多个配置文件时,mysql会以读取到的最后一个配置文件中的参数为准。
  常用的配置参数有:
port            = 3306  mysqld服务运行时的端口号,默认为3306
  
socket          = /tmp/mysql.sock  socket文件是linux/unix系统特有的,用户在该环境下的客户端连接可以不通过tcp/ip网络,而直接使用socket文件连接
  
back_log  = 300  该值为设定档mysql暂时停止响应新的请求前,短时间内有多少个请求可以存在堆栈内,如果系统在短时间内有很多的连接,应该增大该值,该值最好设置小于512的整数
  
skip-networking  不在tcp/ip端口上进行监听,所有的连接都是通过本地的socket文件连接,这样可以提高安全性,确定是不能通过网络连接数据库。
skip-locking  避免mysql的外部锁定,增强稳定性
skip-name-resolve  避免mysql对外部的连接进行DNS解析,若使用此设置,那么远程主机连接时只能使用ip,而不能使用域名
max_connections = 3000  指定mysql服务所允许的最大连接进程数,
max_connect_errors = 1000  每个主机连接允许异常中断的次数,当超过该次数mysql服务器将禁止该主机的连接请求,直到mysql服务重启,或者flushhosts命令清空host的相关信息
table_cache = 614k  表的高速缓冲区的大小,当mysql访问一个表时,如果mysql表缓冲区还有空间,那么这个表就会被打开通放入高速缓冲区,好处是可以更快速的访问表中的内容。
  如果open_tables和opened_tables的值接近该值,那么久该增加该值的大小
max_allowed_packet = 4M  设定在网络传输中一次可以传输消息的最大值,系统默认为1M,最大可以是1G
sort_buffer_size = 16M  排序缓冲区用来处理类似orderby以及groupby队列所引起的排序,系统默认大小为2M,该参数对应分配内存是每个连接独占的,若有100个连接,实际分配的排序缓冲区大小为6*100;推荐设置为6M-8M
join_buffer_size 8M  联合查询操作所使用的缓冲区大小。
thread_cache_size = 64  设置threadcache池中可以缓存连接线程的最大数量,默认为0,该值表示可以重新利用保存在缓存中线程的数量,当断开连接时若缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,若果缓存中是空的或者是新的请求,那么线程将被重新创建。设置规律为:1G内存设置为8,2G内存设置为16,4G以上设置为64
query_cache_size = 64M  指定mysql查询缓冲区的大小,用来缓冲select的结果,并在下一次同样查询的时候不再执行查询而直接返回结果,根据Qcache_lowmem_prunes的大小,来查看当前的负载是否足够高
query_cache_limit = 4M  只有小于该值的结果才被缓冲,放置一个极大的结果将其他所有的查询结果都覆盖
tmp_table_size 256M  内存临时表的大小,如果超过该值,会将临时表写入磁盘
default_storage_engine = MYISAM  创建表时默认使用的存储引擎
log-bin=mysql-bin  打开二进制日志功能
key_buffer_size = 384M  指定索引缓冲区的大小,内存为4G时刻设置为256M或384M
read_buffer_size = 8M  用来做MYISAM表全表扫描的缓冲大小
  。。。。。。。。。
  常用配置实例
[client]  
default-character-set = utf8
  
port = 3306
  
socket = /tmp/mysql.sock
  
[mysqld]
  
user = mysql
  
port = 3306
  
socket = /tmp/mysql.sock
  
basedir = /opt/mysql
  
datadir = /opt/mysql/var
  
log-error = /opt/mysql/var/mysql-error.log
  
pid-file = /opt/mysql/var/mysql.pid
  
log_slave_updates = 1
  
log-bin = /opt/mysql/var/mysql-bin
  
binlog_format = mixed
  
binlog_cache_size = 4M
  
max_binlog_cache_size = 8M
  
max_binlog_size = 1G
  
expire_logs_days = 90
  
key_buffer_size = 384M
  
sort_buffer_size = 2M
  
read_buffer_size = 2M
  
read_rnd_buffer_size = 16M
  
join_buffer_size = 2M
  
thread_cache_size = 8
  
query_cache_size = 32M
  
query_cache_limit = 2M
  
query_cache_min_res_unit = 2k
  
thread_concurrency = 32
  
table_cache = 614
  
table_open_cache = 512
  
open_files_limit = 10240
  
back_log = 600
  
max_connections = 5000
  
max_connect_errors = 6000
  
external-locking = FALSE
  
max_allowed_packet = 16M
  
default-storage-engine = MYISAM
  
thread_stack = 192k
  
transaction_isolation = READ-COMMITTED
  
tmp_table_size = 256M
  
max_heap_table_size = 512M
  
bulk_insert_buffer_size = 64M
  
myisam_sort_buffer_size = 64M
  
myisam_max_sort_file_size = 10G
  
myisam_repair_threads = 1
  
myisam_recover
  
long_query_time = 2
  
slow_query_log
  
slow_query_log_file = /opt/mysql/var/slow.log
  
skip-name-resolve
  
skip-locking
  
skip-networking
  
innodb_additional_mem_pool_size = 16M
  
innodb_buffer_pool_size = 512M
  
innodb_data_file_path = ibdata1:256M:autoextend
  
innodb_file_io_threads = 4
  
innodb_thread_aoncurrency = 8
  
innodb_flush_log_at_trx_commit = 2
  
innodb_log_buffer_size = 16M
  
innodb_log_file_size = 128M
  
innodb_log_files_in_group = 3
  
innodb_max_dirty_pages_pct = 90
  
innodb_lock_wait_timeout = 120
  
innodb_file_per_table = 0
  
[mysqldump]
  
quick
  
max_allow_packet = 64M
  
[mysql]
  
no-auto-rehash
  
safr-updates
  
[myisamchk]
  
key_buffer_size = 256M
  
sort_buffer_size = 256M
  
read_buffer = 2M
  
[mysqldump]
  
quick
  
max_allow_packet = 64M
  
[mysql]
  
no-auto-rehash
  
safe-updates
  
[myisamchk]
  
key_buffer_size = 256M
  
sort_buffer_size = 256M
  
read_buffer = 2M
  
write_buffer = 2M
  
[mysqlhotcopy]
  
interactive-timeout



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-606910-1-1.html 上篇帖子: mysql热备及常见拓扑架构 下篇帖子: 【原创】MySQL 在读取异常错误缓冲区方面的提升(MySQL5.6)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表