渗透测试基础知识---mysql配置文件详解

本文详细解析了MySQL配置文件的各个关键选项,包括路径、客户端配置、服务器端配置、系统资源限制、日志设置以及MyISAM和InnoDB引擎的相关参数。通过了解这些设置,有助于优化数据库性能和提升安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql配置文件详解


0x00 mysql配置文件路径


/etc/my.cnf

0x01 详解


#以下选项会被MySQL客户端应用读取。注意只有MySQL附带的客户端应用程序保证可以读取这段内容。如果你想你自己的MySQL应用程序获取这些值。需要在MySQL客户端库初始化的时候指定这些选项。


[client]
port = 3309
socket =  /usr/local/mysql/tmp/mysql.sock
[mysqld] #服务器端配置
!include  /usr/local/mysql/etc/mysqld.cnf  #包含的配置文件,可以把用户名和密码文件单独存放
port = 3306  #监听端口  
bind-address = 0.0.0.0  #监听的ip地址
server-id = 1  #MySQL服务的ID
socket =  /usr/local/mysql/tmp/mysql.sock  #socket通信设置
pid-file =  /usr/local/mysql/var/mysql.pid  #pid文件路径
basedir =  /usr/local/mysql/          #MySQL程序路径
datadir =  /usr/local/mysql/data      #数据目录
tmpdir =  /usr/local/mysql/tmp/


#此目录被 MySQL用来保存临时文件.例如,它被用来处理基于磁盘的大型排序,和内部排序一样,以及简单的临时表.如果你不创建非常大的临时文件,将其放置到 swapfs/tmpfs 文件系统上也许比较好。另一种选择是你也可以将其放置在独立的磁盘上.你可以使用”;”来放置多个路径,他们会按照 roud-robin 方法被轮询使用.

slave-load-tmpdir =  /usr/local/mysql/tmp/  #当slave执行load data infile时使用
#*** skip options 相关选项 ***#
skip-name-resolve
#禁止 MySQL 对外部连接进行 DNS 解析,使用这一选项可以消除 MySQL 进行 DNS 解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用 IP 地址方式,否则 MySQL 将无法正常处理连接请求!
skip-symbolic-links
#不能使用连接文件,多个客户可能会访问同一个数据库,因此这防止外部客户锁定 MySQL 服务器。该选项默认开启

skip-external-locking
#不使用系统锁定,要使用 myisamchk,必须关闭服务器 ,避免 MySQL的外部锁定,减少出错几率增强稳定性。

skip-slave-start
#启动 mysql,不启动复制

skip-networking
#开启该选项可以彻底关闭 MySQL 的 TCP/IP 连接方式,如果 WEB 服务器是以远程连接的方式访问 MySQL 数据库服务器则不要开启该选项!否则将无法正常连接!如果所有的进程都是在同一台服务器连接到本地的 mysqld, 这样设置将是增强安全的方法

sysdate-is-now = 1
#把SYSDATE 函数编程为 NOW的别名

#*** 系统资源相关选项 ***#
back_log = 50
#接受队列,对于没建立 tcp 连接的请求队列放入缓存中,队列大小为 back_log,受限制与 OS 参数,试图设定 back_log 高于你的操作系统的限制将是无效的。默认值为 50。对于 Linux 系统推荐设置为小于512的整数。如果系统在一个短时间内有很多连接,则需要增大该参数的值

max_connections = 1000
#指定MySQL允许的最大连接进程数。如果在访问数据库时经常出现"Too Many Connections"的错误提 示,则需要增大该参数值。

max_connect_errors = 10000
#如果某个用户发起的连接 error 超过该数值,则该用户的下次连接将被阻塞,直到管理员执行 flush hosts ; 命令或者服务重启, 防止黑客 , 非法的密码以及其他在链接时的错误会增加此值

open_files_limit = 10240
#MySQL打开的文件描述符限制,默认最小1024;当open_files_limit没有被配置的时候,比较max_connections*5和ulimit-n的值,哪个大用哪个,当open_file_limit被配置的时候,比较open_files_limit和max_connections*5的值,哪个大用哪个。

connect-timeout = 10
#连接超时之前的最大秒数,在 Linux 平台上,该超时也用作等待服务器首次回应的时间

wait-timeout = 28800
#等待关闭连接的时间

interactive-timeout = 28800
#关闭连接之前,允许 interactive_timeout(取代了wait_timeout)秒的不活动时间。客户端的会话 wait_timeout 变量被设为会话interactive_timeout 变量的值。如果前端程序采用短连接,建议缩短这2个值, 如果前端程序采用长连接,可直接注释掉这两个选项,默认配置(8小时)  

slave-net-timeout = 600
#从服务器也能够处理网络连接中断。但是,只有从服务器超过slave_net_timeout 秒没有从主服务器收到数据才通知网络中断

net_read_timeout = 30
#从服务器读取信息的超时

net_write_timeout = 60
#从服务器写入信息的超时

net_retry_count = 10
#如果某个通信端口的读操作中断了,在放弃前重试多次

net_buffer_length = 16384
#包消息缓冲区初始化为 net_buffer_length 字节,但需要时可以增长到 max_allowed_packet 字节

max_allowed_packe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值