Mysql /etc/my.cnf参数详解(二)

这篇具有很好参考价值的文章主要介绍了Mysql /etc/my.cnf参数详解(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#buffer相关

#buffer pool根据实际内存大小调整,标准为物理内存的50%
innodb_buffer_pool_size=15996M //默认值128M,innodb_buffer_pool_size | 134217728
key_buffer_size = 33554432
#根据物理内存大小设置 确保每个instance内的内存2G左右 <5000 1,>=5000 <9000 2,>=9000 <17000 4,>=17000 <33000 8,>=33000 16
innodb_buffer_pool_instances=16 //https://blog.csdn.net/qq_32099833/article/details/123616533 多个instance实例的原理
read_rnd_buffer_size = 524288
sort_buffer_size = 524288  
query_cache_size=0  //查询的缓存大小设置;

#安全相关
default_password_lifetime=0 //一个全局的MySQL密码过期时间,单位为天,也就是每过N天,就需要修改密码,否则会在连接后收到一个密码过期的报错。如果该参数设置为0,即表示密码永不过期。

#复制相关
// https://blog.csdn.net/j_ychen/article/details/109451373 
//为了解决主从复制延迟问题,在MySQL 5.7中,引入了基于组提交的并行复制(Enhanced Multi-threaded Slaves)

skip-slave-start = 0  //禁用skip-slave-start,slave进程会随着mysql启动而启动。skip-slave-start为开启
slave-parallel-type = LOGICAL_CLOCK  //mysql在5.7中加入了slave_parallel_type,默认值是database,需要改成基于时钟逻辑的LOGICAL_CLOCK
sync_master_info = 1000
//当 sync_master_info>0,slave在N个sync_master_info事件完成后更新mysql.slave_master_info表;当 sync_master_info = 0,不更新表

master-info-repository = TABLE 
//默认值:FILE,当设置为TABLE,slave会将master的状态和连接信息写入 mysql.slave_master_info 表,当设置为FILE ,slave会将master的状态和连接信息写入 master.info 文件。
//这个参数只有在复制线程停止工作才能更改。当使用多复制通道(multiple replication channels)的时候,这个参数必须设置成TABLE.

relay-log = /data/mysql/log/mysql-relay-bin
//relay-log的结构和binlog非常相似,只不过他多了一个master.info和relay-log.info的文件。
//master.info记录了上一次读取到master同步过来的binlog的位置,以及连接master和启动复制必须的所有信息。
//relay-log.info记录了文件复制的进度,下一个事件从什么位置开始,由sql线程负责更新。
relay-log-info-repository = TABLE
//默认值:FILE 当设置为TABLE,slave在relay_log中的pos信息将写入 mysql.slave_relay_log_info 表 当设置为FILE ,slave在relay_log中的pos信息将写入 relay-log.info 文件。
//这个参数只有在复制线程停止工作才能更改。当使用多复制通道(multiple replication channels)的时候,这个参数必须设置成TABLE.

relay-log-recovery = 1
//假设当从库意外宕机后,同时从库的relay log也一起损坏了,而主库的日志已经传到了从库,只是从库还没有来得及应用这些日志,那么从库该如何处理?
//在从库中将relay_log_recovery不设置或者设置为off,如果碰到上面的情形,从库会丢失那些没有应用的日志,主从会不一致。
//在从库中将relay_log_recovery设置为on,假如果碰到上面的情形,从库会自动放弃所有未执行的relay log,重新生成一个relay //log,并将从库的io线程的position重新指向新的relay //log。并将sql线程的position退回到跟io线程的position保持一致,重新开始同步,这样在从库中事务不会丢失。这个参数建议开启。

relay_log_index = mysql-relay-bin.index //同relay_log,定义relay_log的位置和名称;一般和relay-log在同一目录
slave_exec_mode = STRICT
//MySQL主从同步中,经常遇到的三种同步错误:
//1、在master上delete一条记录,若在slave上没有这条数据,会出现报错。
//2、在master上insert一条记录,若在slave上主键值已经存在,会出现报错。
//3、在master上update一条记录,若在slave上没有这条数据,会出现报错。
//如果slave的my.cnf已经配置了slave_skip_errors参数,则可以自动跳过报错,如果没有配置该参数,则可以用以下方法解决:
//mysql> set global slave_exec_mode='idempotent';
//默认值是strict(严格模式)
slave-parallel-workers = 16  //slave_parallel_workers数,默认为0,按需修改。
slave_net_timeout = 120
//slave_net_timeout系统变量指定在slave认为连接断开、中止读取并尝试重新连接之前,slave等待来自master的更多数据或心跳信号的秒数。默认值为60秒(一分钟)。在MySQL5.7.7之//前,默认值是3600秒(一小时)。
slave_pending_jobs_size_max = 1073741824
//在多线程副本(slave_parallel_workers > 0)上,确保系统变量 slave_pending_jobs_size_max 的值等于或大于复制源中系统变量 max_allowed_packet //的设置。slave_pending_jobs_size_max 的默认设置应该是128M,是 max_allowed_packet 的默认设置(64M)的两倍。

slave_preserve_commit_order = OFF
//在启用slave_preserve_commit_order的情况下,执行线程将等待,直到提交之前的所有事务。当线程等待其他工作线程提交其事务时,它将其状态报告为等待前一个事务提交。(在MySQ//L 5.7.8之前,它显示为Waiting for its turn to commit。)在多线程SLAVE上启用此模式可确保它永远不会进入源不处于的状态。这支持将复制用于读取横向扩展。

slave_rows_search_algorithms = INDEX_SCAN,HASH_SCAN文章来源地址https://www.toymoban.com/news/detail-690348.html

到了这里,关于Mysql /etc/my.cnf参数详解(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql配置my.cnf中!include和!includedir的作用

    - 先看官网截图: ------------------------------------------------------------------------------------------ 举个例子: [mysqld] port=3306 ... ... ... [mysqladmin] ssl=0 ... ... ... !include /home/mydir/myopt.cnf !includedir /home/mydir/conf.d/ my.cnf内容如上。 文字说明 : my.cnf中的配置,都分有各个模块,例如:[mysqld] [cli

    2024年02月04日
    浏览(41)
  • Centos 7 通过Docker 安装MySQL 8.0.33实现数据持久化及my.cnf配置

    要在 CentOS 7 上使用 Docker 启动 MySQL 8.0.33,并配置 MySQL 的 my.cnf 文件,同时实现 MySQL 数据的持久化,可以按照以下步骤进行操作: 1、安装 Docker:确保你在 CentOS 7 上已经安装了 Docker。如果尚未安装,请按照 Docker 官方文档提供的说明进行安装。 2、创建持久化存储目录:为了

    2024年02月10日
    浏览(43)
  • mysql8.0及以上my.cnf设置lower_case_table_names=1无法启动

    今天装了Mysql,忙活了一下午终于装完了可以远程连接了,想着Mysql的大小写区分太麻烦就在/etc/my.cnf里面加了一句lower_case_table_names=1,结果重启数据的时候就报错了如下: 查了老半天,各种说法都有,给权限啊,添加路径什么的,我以为是我用了一会,改了什么数据文件什么

    2024年02月12日
    浏览(40)
  • 看了mysql8.0官网,发现set sql_mode原来有可以不用修改my.cnf或mysqld-auto.cnf就可以持久化系统变量的方式

    @@GLOBAL.sql_mode: 全局级别的设置,影响所有新的客户端连接。通常需要具有高级权限才能修改,且修改后对尚未建立连接的新会话生效,对当前已存在的会话无效。MySQL服务器重启后,如果没有在配置文件中永久设定,全局设置将恢复到服务器启动时的默认值或配置文件中的设

    2024年04月15日
    浏览(38)
  • MySQL数据库——MySQL配置文件(my.ini)详解

    my.ini 是 MySQL 数据库中使用的配置文件,MySQL 服务器启动时会读取这个配置文件,我们可以通过修改这个文件,达到更新配置的目的。 这里以 Windows 系统下的 my.ini 配置文件为样板,讲解 MySQL 配置文件中的参数。 一般情况下,my.ini 在 MySql 安装的根目录下,也有可能在隐藏文

    2023年04月09日
    浏览(43)
  • 云原生数据仓库AnalyticDB Mysql(ADB分析型数据库)-DML语法之新增插入数据详解

    ADB分析型数据库,是阿里云平台上资源,原名叫云原生数据仓库AnalyticDB Mysql,俗称ADB分析型数据库,那么ADB的语法与mysql关系型数据库语法存在一定的差异。 本文为笔记,介绍ADB的DML语法的应用。 1. INSERT INTO INSERT INTO用于向表中插入数据,主键重复时会自动忽略当前写入数据

    2024年02月15日
    浏览(41)
  • mysql_性能参数调优详解

    连接池运行机制 MySQL连接器中的连接池,用以提高数据库密集型应用程序的性能和可扩展性,默认启用。MySQL连接器负责管理连接池中的多个连接,自动创建、打开、关闭和破坏连接,多个连接的创建,可满足多客户端的频繁连接,连接的重复使用获得最佳性能。 MySQL连接器

    2024年02月04日
    浏览(36)
  • MySQL 8.0.33 my.ini说明

    #其他默认调整值 #MySQL Server实例配置文件 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- #由MySQL Server实例配置向导生成 # # #安装说明 # ------------------------------------------------------------------------------------

    2024年02月11日
    浏览(37)
  • mysql缺少my.ini文件的解决方法

     1.在服务里停掉现有的mysql服务 2.打开管理员模式下的命令行窗口,win+r,先别按回车,在shift+ctrl+enter就能进入 3.进入到mysql的bin目录,执行命令 sc delete 服务名 这个服务名就是你在服务里看到的名字 4.添加my.ini文件 my.ini内容 [mysqld] port=3306 basedir=D:Environmentmysqlmysql-5.7.43 dat

    2024年02月03日
    浏览(44)
  • 安装的mysql中没有my.ini文件

    使用的这么长时间的mysql,有一天我突然需要使用mysql 的配置文件my.ini时发现没有这个文件并且这个文件不是被隐藏了。 查看自己的mysql中是否有my.ini,也可能是这个文件是隐藏文件你没有设置可以查看隐藏文件 一般情况下mysql都是安装在C:Program FilesMySQLMySQL Server 5.7这个地

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包