iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库配置详解
  • 692
分享到

MySQL数据库配置详解

2024-04-02 19:04:59 692人浏览 薄情痞子
摘要

下面是我生产环境中Mysql的配置详解:[mysqld]mysql服务端配置server-id=1服务ID,每个服务的服务ID不同即可log-bin=mysql-bin定义bin_log的位置和名称,mys

下面是我生产环境中Mysql的配置详解:

[mysqld]

mysql服务端配置


server-id=1

服务ID,每个服务的服务ID不同即可


log-bin=mysql-bin

定义bin_log的位置和名称,mysql操作记录二进制日志


relay_log=mysql-realy-bin

定义relay_log的位置和名称,从服务器解析主服务器二进制文件后记录的文件


relay_log_index=slave-mysql-realy-bin.index

定义relay_log_index的位置和名称


expire_logs_days=15

超过15天的binlog删除


binlog_fORMat=mixed

mysql复制方式为混合模式


说明:mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。


① STATEMENT模式(SBR)


每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)


② ROW模式(RBR)


不记录每条sql语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。


③ MIXED模式(MBR)


以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。


auto-increment-increment=2

自增量每次增加的值改为2


auto-increment-offset= 1

第一次加载数值时的偏移值的个位值是1


innodb_flush_log_at_trx_commit=1

# 0:如果innodb_flush_log_at_trx_commit的值为0,log buffer每秒就会被刷写日志文件到磁盘,提交事务的时候不做任何操作(执行是由mysql的master thread线程来执行的。

# 主线程中每秒会将重做日志缓冲写入磁盘的重做日志文件(REDO LOG)中。不论事务是否已经提交)默认的日志文件是ib_logfile0,ib_logfile1

# 1:当设为默认值1的时候,每次提交事务的时候,都会将log buffer刷写到日志。

# 2:如果设为2,每次提交事务都会写日志,但并不会执行刷的操作。每秒定时会刷到日志文件。要注意的是,并不能保证100%每秒一定都会刷到磁盘,这要取决于进程的调度。

# 每次事务提交的时候将数据写入事务日志,而这里的写入仅是调用了文件系统的写入操作,而文件系统是有 缓存的,所以这个写入并不能保证数据已经写入到物理磁盘

# 默认值1是为了保证完整的ACID。当然,你可以将这个配置项设为1以外的值来换取更高的性能,但是在系统崩溃的时候,你将会丢失1秒的数据。

# 设为0的话,mysqld进程崩溃的时候,就会丢失最后1秒的事务。设为2,只有在操作系统崩溃或者断电的时候才会丢失最后1秒的数据。InnoDB在做恢复的时候会忽略这个值。

# 总结

# 设为1当然是最安全的,但性能页是最差的(相对其他两个参数而言,但不是不能接受)。如果对数据一致性和完整性要求不高,完全可以设为2,如果只最求性能,例如高并发写的日志服务器,设为0来获得更高性能

replicate-ignore-db=sys

复制时忽略的数据库


datadir=/data/mysql_data

数据存储目录


Socket=/var/lib/mysql/mysql.sock

对服务器端指定套接字文件路径

对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。

character_set_server=utf8

设置字符集


sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

# mysql数据库的中有一个环境变量sql_mode,定义了mysql应该支持的sql语法,数据校验等

# STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制

# NO_ZERO_IN_DATE:这个模式影响了是否允许日期中的月份和日包含0。如果开启此模式,2016-01-00是不允许的,但是0000-02-01是允许的。它实际的行为受到 strict mode是否开启的影响1。

# NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期。它实际的行为受到 strictmode是否开启的影响2。

# ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如果未给出该模式,那么数据被零除时MySQL返回NULL

# NO_AUTO_CREATE_USER:禁止GRANT创建密码为空的用户

# NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常

symbolic-links=0

不支持符号链接


log-error=/var/log/mysqld.log

错误日志文件目录


pid-file=/var/run/mysqld/mysqld.pid

进程文件目录


innodb_buffer_pool_size=8G

InnoDB缓冲池大小(这里设置为内存大小的一半)

# InnoDB使用一个缓冲池来保存索引和原始数据, 不像MyISAM

# 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.

# 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%

# 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.

# 注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,

# 所以不要设置的太高.

innodb_log_file_size=256M

确定数据日志文件的大小,更大的设置可以提高性能,但也会增加恢复故障数据库所需的时间


innodb_flush_method=O_DIRECT

InnoDB 用来刷新日志的方法为O_DSYNC

# 表空间总是使用双重写入刷新方法

#  默认值是 “fdatasync”, 另一个是 “O_DSYNC”.

# 一般来说,如果你有硬件 RaiD 控制器,并且其独立缓存采用 write-back 机制,并有着电池断电保护,那么应该设置配置为 O_DIRECT

# 否则,大多数情况下应将其设为 fdatasync

max_connections=500

MySQL的最大连接数

# 如果服务器的并发连接请求量比较大,建议提高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。可以过'conn%'通配符查看当前状态的连接数量,以定夺该值的大小。

innodb_autoextend_increment=128

每次自动扩展的增量大小

# 增加InnoDB系统空间最简单的方法就是,在配置文件中配置autoextend.

# #该innodb_autoextend_increment设置不会影响每个表的单独表空间文件或常规表空间文件。无论innodb_autoextend_increment设置如何,这些文件都是自动扩展的 。初始扩展是少量的,之后以4MB的增量扩展。 

# 默认是8M, 如果一次insert数据量比较多的话, 可以适当增加.


您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库配置详解

本文链接: https://www.lsjlt.com/news/44652.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库配置详解
    下面是我生产环境中MySQL的配置详解:[mysqld]mysql服务端配置server-id=1服务ID,每个服务的服务ID不同即可log-bin=mysql-bin定义bin_log的位置和名称,mys...
    99+
    2022-10-18
  • MySQL数据库——MySQL配置文件(my.ini)详解
    my.ini 是 MySQL 数据库中使用的配置文件,MySQL 服务器启动时会读取这个配置文件,我们可以通过修改这个文件,达到更新配置的目的。 这里以 Windows 系统下的 my.ini 配置文件为样板,讲解 MySQL 配置文件中的...
    99+
    2023-09-02
    数据库 mysql 服务器
  • postgres数据库配置文件详解
    allow_system_table_modsAllows modifications of the   structure of system tables.允许修改系统表的结构。applica...
    99+
    2022-10-18
  • 【MySQL数据库】最全安装过程及配置详解
    🧛‍♂️iecne个人主页::iecne的学习日志 💡每天关注iecne的作品,一起进步 💪一起学习,必看iecne 🐳希望大家多多支持🥰一起进步呀...
    99+
    2023-08-16
    mysql 数据库 服务器
  • django配置mysql数据库
    查看ubuntu已安装的所有软件:dpkg -l   dpkg -l | grep mysql查看软件安装的路径dpkg -L | grep mysql查看开机启动的软件,需要额外安装插件:sudo apt...
    99+
    2022-10-18
  • MySQL数据库入门之多实例配置方法详解
    本文实例讲述了MySQL数据库入门之多实例配置方法。分享给大家供大家参考,具体如下: 前面介绍了相关的基础命令操作:MySQL数据库基础篇之入门基础命令 所有的操作都是基于单实例的,mysql多实例在实际生产环境也是...
    99+
    2022-05-31
    MySQL 数据库 多实例配置
  • Linux下MySQL安装配置 MySQL配置参数详解
    一、下载编译安装 #cd /usr/local/src/ #wget http://mysql.byungsoo.net/Downloads/MySQL-5.1/mysql-5.1.38.tar.gz #tar –xzvf mysql-5....
    99+
    2015-11-24
    Linux下MySQL安装配置 MySQL配置参数详解
  • MYSQL数据库连接字符串(connectionString)配置参数大全详解
    请参考原文:MYSQL数据库连接字符串(connectionString)配置参数大全详解来源地址:https://blog.csdn.net/key12315/article/details/128367289...
    99+
    2023-09-01
    数据库
  • 多机配置mysql数据库的详细步骤
    下面讲讲关于多机配置mysql数据库的详细步骤,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完多机配置mysql数据库的详细步骤这篇文章你一定会有所受益。一主多从配置环境:&nb...
    99+
    2022-10-18
  • MySQL数据库配置信息查看与修改方法详解
    目录摘要查看查看数据基本信息查询sql_mode查看在配置文件中定义的变量查看mysql的服务当前运行时的变量查看MySQL默认认证方式修改MySQL的系统变量根据变量修改的方式根据变量的生效范围总结摘要 当在不同团队间...
    99+
    2022-06-23
    mysql 查看配置 查看mysql配置文件 mysql 修改配置
  • docker配置openGauss数据库的方法详解
    For Windows User  在docker中使用openGauss 拉取openGauss镜像 在控制台输入 docker pull enmotec...
    99+
    2022-11-12
  • MySQL数据库安全配置
    这篇文章主要讲解了“MySQL数据库安全配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库安全配置”吧!1、前言  MySQL是完全网络化的...
    99+
    2022-10-18
  • MySQL配置数据库审计
    MySQL配置数据库审计 1 背景2 环境3 准备工作4 安装审计4.1 解压审计包4.2 查看数据库插件目录4.3 安装数据库审计插件4.3.1 复制到插件目录4.3.2 修改插件权限4.3.3 设置审计参数4.3.4 修改数据库...
    99+
    2023-08-17
    数据库 mysql java
  • 【MySQL】MySQL information_schema 数据库详解
    MySQL information_schema 数据库详解 1. information_schema 简介2. information_schema 数据库中的表说明2.1 CHARACT...
    99+
    2023-10-23
    数据库 mysql sql
  • MYSQL配置参数优化详解
    MySQL参数优化对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳的效果。 1)连接请求的变量 1、max_...
    99+
    2022-10-18
  • Linux安装配置MariaDB数据库全程详解
    MariaDB在很多方面强于MySQL,在Linux下如何安装MariaDB数据库成为大家比较头疼的一个问题,下面用实例为大家讲解下MariaDB是采用Maria存储引擎的MySQL分支版本,在很多方面强于...
    99+
    2022-10-18
  • MySql数据库安装及配置
    http://dev.mysql.com/downloads/mysql/官网进行下载,由于5.7没有32位的选择其它版本下载64位版本安装及配置如下截图步骤   ...
    99+
    2022-10-18
  • MySQL数据库的安全配置
    本篇内容介绍了“MySQL数据库的安全配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  由于MySQL...
    99+
    2022-10-18
  • Django配置MySQL数据库教程
    简介   在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库。一般较多的会选择MySQL。如果使用SQLite这种轻量级的数据库不需要手动配置。 一、安装Python访问MySQL的模块   在 ...
    99+
    2018-12-25
    Django配置MySQL数据库教程 数据库入门 数据库基础教程
  • Mac 系统配置 MySql 数据库
    1. 安装 MySql 数据库 1 双击打开安装包 mysql-8.0.19-macos10.15-x86_64.dmg: 2 双击 mysql-8.0.19-macos10.15-x86_64.pkg 运行安装包,并点击 继续 按钮: ...
    99+
    2023-08-18
    mysql 数据库 macos
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作