分享更有价值
被信任是一种快乐

怎么理解并掌握mysql参数文件和类型

文章页正文上

这篇文章主要讲解了“怎么理解并掌握mysql参数文件和类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解并掌握mysql参数文件和类型”吧!数据库层面文件:参数文件my.cnf,错误日志error log,慢查询日志slow log,全量日志general log,二进制日志binlog,审计日志audit log,中继日志relay log,套接字文件socket,进程文件pid,表结构文件存储引擎层面:redo log,undo log日志文件。参数文件优先级:/etc/my.cnf>/etc/mysql/my.cnf>/usr/local/mysql/my.cnf>/.my.cnf想设置默认参数文件,需设置–defaults-file参数my.cnf文件中,分为client section和server section两块。client section用来配置mysql客户端参数。具体讲解服务端参数,查看通过:show variables like ‘%参数%’innodb_buffer_pool:数据库可用内存,物理内存50%-80%;,5.7可在线修改;innodb_buffer_pool_instance:默认未1,5.6.6后可调整多个,表示InnoDB缓冲区可划分为多个区域,提高并发性。每个缓冲区自管理,通过show engine innodb status可看到每个instance使用内存的情况。只有innodb_buffer_pool大于1G,多实例才生效。快速加载内存中元数据信息实例宕机,内存中数据消失i,重新读取将导致IO压力增大,以下参数可解决:innodb_buffer_pool_load_at_staratup和innodb_buffer_pool_dump_at_shutdown这两个参数设置为启用(5.7默认启用),在实例关闭时,可将热数据的元数据信息dump出来,保存到ib_buffer_pool文件中;查看ib_buffer_pool文件名称:show variables like ‘%innodb_buffer_poll_file%’当实例启动时,把元数据快速加载到内存,其实所谓元数据就是space number和page number的列表信息,查询语句如下:切换数据库:use infomation_schemaselect space,page_number from INNODB_BUFFER_PAGE limit3;innodb_data_file_path:可指定系统表空间文件路径和ibdata1文件大小,默认10M,建议1G;innodb_flash_log_at_trx_commit、sync_binlog、innodb_max_dirty_pages_pct:这三个参数影响redo log、binlog、脏页的刷新参数。interactive_timeout:服务器关闭交叉式连接前等待活动的时间,默认8小时(28800s);wait_timeout:
服务器关闭非交叉式连接前等待活动的时间,默认8小时(28800s);这两个参数要一起设置成一样的值,为避免过大连接时间,建议调整为300-600秒;5.7默认300s;innodb_thread_concurrency:innodb内核最大并发线程数,默认0,表示不限制。innodb_flash_method:影响innodb数据文件、redo log 文件打开刷写模式,建议选择默认免费主机域名值0_DIRECT,数据文件直接从mysql innodb buffer 写入到磁盘,不通过os buffer。innodb_old_blocks_time:决定young pages list中数据页多久转移到old pages list.innodb_old_blocks_pct:决定old pages list占整个列表的百分比。案例:遇到大表扫描活使用mysqldump操作,有可能踢走热数据,给数据库带来IO压力,可适当减少innodb_old_blocks_pct的值分配,保证更多的热数据不会被冲掉。transaction_isolation:事务的隔离级别,默认REPEATABLE-READ,其他还有READ-UNCOMMITTED, READ-COMMITTED,SERIALIZABLE;innodb_open_files:可同时打开.ibd问问你家的个数,最小10,默认300,建议65535;innodb_log_buffer_size:日志缓冲大小,数据改变记录到缓冲区,如innodb_log_waits(等待日志缓冲刷出的次数)大于0,而且持续增长,就要增大log buffer,范围16M-64M。innodb_log_file_size: redo log日志的大小。innodb_log_files_in_group:redo log文件组中日志文件的数据量,默认至少2个;max_connections:数据库最大连接数,默认151,可调大活调内部并发数innodb_thread_concurrency:innodb内部并发数,默认0不受限,根据系统压力,可改成CPU两倍。通过设置thread_pool让连接复用。有监控读取infomation_schma下面表,可关闭innodb_stats_on_metadata,方法:set global innodb_stats_on_metadata=0expire_logs_days:代表binlog的过期时间,单位是天。slow_query_log:慢查询日志开关,1表示开,生产环境要开启。long_query_time:超过时间的日志会记录下来。log_queries_not_using_indexes:如sql没有索引则会记录到慢查询日志中,生产环境开启。set global log_queries_not_using_indexes = onserver-id: 代表同一组主从结构的唯一标识。binlog_format:二进制日志格式,生产环境用row安全,不会出现跨库复制丢失数据。lower_case_table_names:默认0区分表名大小写,1不区分,以小写存储。innodb_fast_shutdown:影响innodb关闭时的行为,0是默认且最安全最慢,3最快。 0:InnoDB关闭时,需执行purge all,merge change buffer,flush dirty pages, 1:InnoDB关闭时,不执行purge all,merge insert buffer,不执行flush dirty page; 2:InnoDB关闭时:不执行full purge,merge insert buffer,刷新脏页到磁盘,只将redobuffer写到日志。innodb_force_reecovery:影响InnoDB存储引擎恢复时的行为,取值0到6 0:当需要恢复时执行所有恢复操作。默认为0 1:忽略检查到的corrupt页; 2:阻止主线程运行,如主线程要执行full purge,会导致crash 3:不执行事务回滚操作 4:不执行插入缓冲的合并操作 5:不查看撤销日志,InnoDB会见未提交的事务视为已提交; 6:不执行前滚操作innodb_status_output,innodb_status_output_locks:建议关闭,即设置为0,否则将数据库监控的信息全记录到error.log中,日志增长过快。innodb_io_capcity:影响刷新脏页和插入缓冲的数量,默认200.auot_increment_increment:自增字段每次递增的值,默认免费主机域名1auto_increment_offset:自增字段开始值。参数分为动态参数和静态参数动态参数: set global:代表全局参数,修改退出会话依然有效,但重启后失效。 set session:只对当前会话有效,一旦退出,立即失效。静态参数:无法在线修改,修改会报read only variable错误。只能修改配置文件,重启数据库生效。感谢各位的阅读,以上就是“怎么理解并掌握mysql参数文件和类型”的内容了,经过本文的学习后,相信大家对怎么理解并掌握mysql参数文件和类型这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: Postgresql性能相关操作系统及数据库说明

本篇内容主要讲解“Postgresql性能相关操作系统及数据库说明”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Postgresql性能相关操作系统及数据库说明免费主机域名”吧!到此,相信大家对“Postgresq…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册