美文网首页
MySQL8.0配置文件常用参数

MySQL8.0配置文件常用参数

作者: 这货不是王马勺 | 来源:发表于2023-09-07 15:07 被阅读0次

    [mysqld]

    实例基本参数
    安装路径
    basedir=/app/database/mysql
    数据库文件存储的目录
    datadir=/data/3306
    错误日志的路径和名称
    log-error=/data/3306/mysqlerr.log
    进程ID文件位置文件名称
    pid-file=/data/3306/mysqld.pid
    服务器监听的TCP端口号
    port=3306
    服务辨识号
    server_id=12345
    sock文件路径
    socket=/data/3306/mysql.sock
    临时文件的目录
    tmpdir = /data/tmp
    MySQL运行用户
    user=mysql

    实例其他重要参数
    MySQL服务器的字符集和排序规则
    character-set-server=utf8
    MySQL服务器的排序规则
    collation-server=utf8_general_ci
    指定默认的身份验证
    default_authentication_plugin=mysql_native_password
    控制日期和时间函数的行为,显式地为每个会话设置默认值
    explicit_defaults_for_timestamp=1
    将每个表的数据存储在一个单独的文件中
    innodb_file_per_table=1
    域名解析
    skip_name_resolve=1
    控制SQL语句的书写方式和数据校验
    sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
    支持符号链接
    symbolic-links=0
    事务隔离级别
    transaction-isolation = READ-COMMITTED
    限制mysqld只能在/backup目录中执行导入导出,其他目录不能执行。
    secure_file_priv = /backup
    开启federated存储引擎作用库服务器连接mysql(类似dblink)
    federated

    重要性能和安全参数
    数据库可拥有的未完成连接请求数
    back_log = 512
    设置缓冲池的大小,设置物理内存的50%-70%
    innodb_buffer_pool_size = 80000M
    缓存池实例数量
    innodb_buffer_pool_instances=6
    磁盘 I/O 能力的上限
    innodb_io_capacity_max = 1500
    锁定等待的超时时间
    innodb_lock_wait_timeout=1200
    最大脏页的百分数,默认值为 75
    innodb_max_dirty_pages_pct = 90
    设置排序缓冲区的大小
    innodb_sort_buffer_size = 4M
    参数限制并发执行的操作系统线程的数量
    innodb_thread_concurrency=128
    服务器关闭交互式连接前的等待活动的秒数
    interactive_timeout=3600
    JOIN 操作的缓冲区的大小
    join_buffer_size=2M
    索引块的缓冲区的大小
    key_buffer_size=32M
    数据库锁超时时间
    lock_wait_timeout=1200
    控制一个数据包发送的任何参数的最大大小
    max_allowed_packet=64M
    最大错误连接数
    max_connect_errors=500
    最大连接数
    max_connections=8192
    myisam_sort_buffer_size = 4M
    从磁盘读取数据块到内存中的缓冲区的大小
    read_buffer_size = 1M
    排序和查询操作中使用的随机读缓存的大小
    read_rnd_buffer_size = 2M
    排序操作的缓冲区大小
    sort_buffer_size=2M
    线程缓存的大小
    thread_cache_size=64
    非交互连接之前等待活动
    wait_timeout=3600

    redolog相关参数
    日志刷新;0:表示每次事务提交时,都立即将日志刷新到磁盘【性能高】;1:表示每次事务提交时,都只将日志刷新到缓存中,而不立即写入磁盘【安全】;2:表示每次事务提交时,都只将日志刷新到缓存中,而不立即写入磁盘
    innodb_flush_log_at_trx_commit=1
    使用 O_DIRECT 打开数据文件,使用 fsync() 刷写数据文件与 redo log
    innodb_flush_method=O_DIRECT
    日志缓冲区大小
    innodb_log_buffer_size=128M
    日志文件的大小
    innodb_log_file_size = 512M
    有多少个事务日志文件组成事务日志组
    innodb_log_files_in_group = 4

    慢日志相关参数
    sql慢日志阈值
    long_query_time=2
    开启记录慢日志功能
    slow_query_log=1
    慢日志文件路径
    slow_query_log_file=/data/3306/mysql-slow20230627.log

    binlog和复制参数
    二进制日志文件的缓存大小
    binlog_cache_size = 131072
    验证binlog的完整性,默认CRC32
    binlog_checksum=NONE -- 禁用校验
    二进制日志文件过期时间
    binlog_expire_logs_seconds=172800
    expire_logs_days = 3
    记录每一行数据被修改的形式
    binlog_format=row
    二进制日志记录的行数据格式
    binlog_row_image='minimal'
    开启记录详细的行操作信息
    binlog_rows_query_log_events =1
    开启记录详细的行操作信息
    enforce_gtid_consistency=ON
    启用GTID
    gtid_mode=ON
    指定二进制日志文件名称。
    log_bin=/binlog/mysqlbin
    指定二进制日志的索引文件名称。
    log_bin_index=/binlog/mysql-bin.index
    从服务器上记录二进制日志的方式,记录所有从服务器的更新操作到主服务器
    log_slave_updates=ON
    二进制日志中主服务器的相关信息存储位置,将主服务器的二进制日志信息存储在MySQL的数据表中。
    master_info_repository=TABLE
    只读
    read_only=1
    定从服务器的中继日志中的相关信息存储位置,将中继日志信息存储在MySQL的数据表中
    relay_log_info_repository=TABLE
    指定从服务器在进行并行复制时的行为,使用逻辑时钟进行并行复制。这意味着从服务器会根据主服务器上的时间戳来执行复制操作,而不是物理时间。
    slave_paralle_type=LOGICAL_CLOCK
    从服务器在进行并行复制时使用的线程数
    slave_paralle_workers=4
    主从复制过程中从服务器可以自动跳过的错误号
    slave_skip_errors = 1032,1062,1053,1146
    每个事务提交时将二进制日志同步到磁盘
    sync_binlog=1

    MGR
    服务器必须收集每个事务的写集并通过哈希算法对其进行编码。
    transaction_write_set_extraction=XXHASH64
    指定组复制中的组名
    loose-group_replication_group_name=“d363d9d6-cc08-4778-8044-960e3148d925“
    该插件服务器启动时不自动开启
    loose-group_replication_start_on_boot=off
    指定本地节点的IP地址,限制复制范围
    loose-group_replication_local_address=“10.10.4.117:33062“
    设置组成员的hostname和port,扩展复制范围
    loose-group_replication_group_seeds=“10.10.4.116:33061,10.10.4.117:33062,10.10.4.118:33063“
    控制组复制中节点加入组的流程,新节点需要手动配置才能加入到组中
    loose-group_replication_bootstrap_group=off
    控制组复制的单主模式,只有一个节点可以写入数据,其他节点只能读取数据
    loose-group_replication_single_primary_mode=on
    表示组复制不强制执行更新操作的一致性检查
    loose-group_replication_enforce_update_everywhere_checks= off

    特殊情况下使用的参数
    在MySQL服务器异常重启失败后对MySQL服务进行修复启动,InnoDB将在只读模式下运行,以允许MySQL服务器运行,即使它检测到损坏的表或索引 。
    innodb_force_recovery = 1

    [mysql]
    sock文件路径
    socket=/data/3306/mysql.sock

    [mysqld_safe]
    指定libjemalloc.so
    malloc-lib = /usr/lib64/libjemalloc.so.1

    相关文章

      网友评论

          本文标题:MySQL8.0配置文件常用参数

          本文链接:https://www.haomeiwen.com/subject/ahxrvdtx.html