分享一波个人的mysql配置文件 my.ini文件配置 有需要的可以收藏一下

本文详细介绍了如何对MySQL5.7.25进行优化配置,包括用户权限管理、字符集设置、服务器端和客户端连接配置、InnoDB存储引擎参数、MyISAM引擎配置以及安全性和性能相关设置。
摘要由CSDN通过智能技术生成
# 以下是 MySQL5.7.25优化配置 服务的配置
#mysql> use mysql; #将数据库切换至mysql库
#Database changed
#mysql> update user set authentication_string=PASSWORD('123456') where user='root'; #修改密码
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#Query OK, 1 row affected, 1 warning (0.00 sec)
#Rows matched: 1  Changed: 1  Warnings: 1

#mysql> flush privileges;  #刷新权限 
#Query OK, 0 rows affected (0.00 sec)
#0 0 * * * /usr/bin/mysqladmin flush-logs    # 每天凌晨 0 点执行 mysqladmin flush-logs 命令 切割日志
[client]
# MySQL 使用的 Unix 套接字文件路径(只在 Unix/Linux 系统下有效),默认是 /tmp/mysql.sock
#socket=/tmp/mysql.sock
#设置客户端连接时要使用的默认字符集
default_character_set = utf8mb4
[mysql]
# 设置 MySQL 命令行提示符格式
prompt = "\u@\h [\d]>"
# 设置 MySQL 命令行查询结果分页
#pager = "less -i -n -S"
[mysqldump]
quick
max_allowed_packet = 64M
[mysqlhotcopy]
interactive_timeout
# 以下是连接 MySQL 服务器的配置
[client_server]
host = localhost
user = root
password = 123456
database = test
[mysqld]
# ==================================================基础配置=======================================================
explicit_defaults_for_timestamp=true
skip-grant-tables
#设置mysql服务器运行所使用的端口号
port = 3306
# 监听所有网络接口的请求
#bind_address = 0.0.0.0
# MySQL 使用的 Unix 套接字文件路径(只在 Unix/Linux 系统下有效),默认是 /tmp/mysql.sock
#socket=/tmp/mysql.sock
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
#指明MySQL的安装目录
basedir = D:\env\mysql\mysql-5.7.25
#指定MySQL数据库的存储位置
datadir = D:\env\mysql\mysql-5.7.25\data
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
#default_authentication_plugin = mysql_native_password
# MySQL 默认字符集设置为 utf8mb4,支持 Unicode 编码
character_set_server = utf8mb4
# MySQL 默认排序规则为 utf8mb4_unicode_ci,支持 Unicode 编码
collation_server = utf8mb4_unicode_ci
# MySQL 默认的存储引擎为 InnoDB,支持事务和行级锁
default_storage_engine = INNODB
#设置等待连接的超时时间,
wait_timeout = 1024
# 服务器检查某个客户端空闲状态的超时时间
interactive_timeout = 300
# MySQL 使用的 SQL 模式,默认为空字符串
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 进程 ID 文件路径,需要根据实际情况进行设置
pid_file = D:\env\mysql\mysql-5.7.25\mysql.pid
# MySQL服务器的唯一ID,用于主从同步
server_id = 1
# ==================以下是 MySQL InnoDB 存储引擎的配置===================
# InnoDB 日志缓冲区的大小,默认为 8MB
innodb_log_buffer_size = 1G
# InnoDB 缓冲池大小,默认为 128MB,建议设置为系统可用内存的 50% 到 70%
innodb_buffer_pool_size = 2G
# InnoDB 文件格式,支持 DYNAMIC 和 BARRACUDA,建议选择 BARRACUDA
#innodb_file_format = Barracuda
# InnoDB 文件扩展格式,支持 Antelope 和 Barracuda,建议选择 Barracuda
innodb_file_per_table = 1
# InnoDB 同时打开的文件数,默认为 300,建议根据实际情况进行设置
innodb_open_files = 400
#指定InnoDB日志文件大小
innodb_log_file_size = 2G
#指定事务提交时log的flush的方式 InnoDB 在每次事务提交时都将日志缓冲区的内容写入磁盘
#innodb_flush_log_at_trx_commit=0,在提交事务时,InnoDB不会立即触发将缓存日志写到磁盘文件的操作,而是每秒触发一次缓存日志回写磁盘操作,并调用操作系统fsync刷新IO缓存。
#innodb_flush_log_at_trx_commit=1,在每个事务提交时,InnoDB立即将缓存中的redo日志回写到日志文件,并调用操作系统fsync刷新IO缓存。
#innodb_flush_log_at_trx_commit=2,在每个事务提交时,InnoDB立即将缓存中的redo日志回写到日志文件,但并不马上调用fsync来刷新IO缓存,而是每秒只做一次磁盘IO缓存刷新操作。
innodb_flush_log_at_trx_commit = 1
#指定InnoDB的刷新办法
#innodb_flush_method = O_DIRECT
# InnoDB缓冲池实例数
innodb_buffer_pool_instances = 48
#指定innodb表空间文件大小
innodb_data_file_path = ibdata1:100M:autoextend
#指定InnoDB日志文件组数
innodb_log_files_in_group = 2
#指定InnoDB I/O操作的读写能力
innodb_io_capacity = 16000
#指定InnoDB内部加锁事件的超时时间
innodb_lock_wait_timeout = 400
#指定是否启用innodb前缀索引
innodb_large_prefix = true
# 设置并发线程数为32
innodb_thread_concurrency = 32
# 打开自增锁定优化
innodb_autoinc_lock_mode = 2
# 打开自适应哈希索引
innodb_adaptive_hash_index = 1
# 打开预读优化
innodb_read_ahead_threshold = 64
innodb_random_read_ahead = OFF
# 打开大页支持
innodb_use_native_aio = ON
# 打开InnoDB文件格式检查
innodb_file_format_check = ON
# 打开InnoDB文件扩展名检查
#innodb_file_format_max = Antelope
# 打开LZ4压缩
#innodb_compression_algorithm = lz4
innodb_purge_threads = 4
innodb_spin_wait_delay = 24
#innodb_spin_wait_pause_multiplier = 30
innodb_stats_persistent = OFF
innodb_stats_on_metadata = OFF
innodb_stats_persistent_sample_pages = 64
innodb_print_all_deadlocks = ON
innodb_read_io_threads = 32
innodb_write_io_threads = 32
innodb_io_capacity_max = 100000
innodb_max_dirty_pages_pct = 60
#================================== MyISAM 存储引擎配置==================
# MyISAM Key Buffer 大小设置为 16GB
key_buffer_size = 2G
# MyISAM存储引擎崩溃恢复策略
myisam_recover_options = FORCE,BACKUP
# ========================================排序缓存大小配置=====================
#排序缓冲区大小
sort_buffer_size = 2000M
#join操作缓冲区大小
join_buffer_size = 400M
#随机读取缓冲区大小
read_rnd_buffer_size = 800M
# ==========================临时表配置========================
# 设置临时表大小为256M,可根据实际需求调整
tmp_table_size = 1G
# 设置最大临时表大小为512M,可根据实际需求调整
max_heap_table_size = 1G
# 表定义缓存大小
table_definition_cache = 4096
# 表缓存大小
table_open_cache = 4096
# ==========================线程配置==========================
#多线程缓冲区大小
thread_cache_size = 4096
#指定多个线程的数量
#thread_concurrency = 32
#========================== 以下是 MySQL 查询缓存的配置================================
# 查询缓存的类型,1 表示启用查询缓存
query_cache_type = 1
# 查询缓存的大小,默认为 20MB,建议根据实际情况进行设置
query_cache_size = 256M
query_cache_limit = 256M
query_cache_min_res_unit = 2k
# ===========================二进制日志配置============
# 关闭binlog,可根据实际需求开启
# skip_log_bin
# MySQL 二进制日志文件路径,需要根据实际情况进行设置
# 二进制日志文件名前缀
log_bin = mysql_bin
binlog_cache_size = 64M
max_binlog_size = 1G
max_binlog_cache_size = 1G
# MySQL 二进制日志格式,MIXED 表示混合模式,支持语句和行级日志
binlog_format = ROW
#====================备份与恢复配置=====================
myisam_max_sort_file_size = 256M
myisam_sort_buffer_size = 8M
#读取缓冲区大小
read_buffer_size = 200M
#write_buffer_size = 2M
#======================安全配置===================
#是否使用外部文件来锁
skip_external_locking
#跳过把主机名映射成ip 禁用DNS解析,提升性能
skip_name_resolve = 1
# 将当前时间作为函数NOW()的返回值
sysdate_is_now = 1
# 启用InnoDB的严格模式
innodb_strict_mode = 1
# ==========================连接配置=========================
#设定最大连接数
max_connections = 10000
#最大连接错误次数,连接出错后mysql短时间内的连接拒绝次数,超出指定次数后会把该IP放入黑名单
max_connect_errors = 1000
# MySQL 允许的最大数据包大小,需要根据实际情况进行设置
max_allowed_packet = 256M
#=======================系统配置=======================
back_log = 500
open_files_limit = 65535
#======================= 日志文件配置========================
# MySQL 错误日志文件路径,需要根据实际情况进行设置
log_error = D:\env\mysql\mysql-5.7.25\error.log
log_output = file
# 开启慢查询日志记录
slow_query_log = 1
slow_query_log_file = D:\env\mysql\mysql-5.7.25\mysql_slow.log
#检查未使用到索引的sql
#log_queries_not_using_indexes = 1
#针对log_queries_not_using_indexes开启后,记录慢sql的频次、每分钟记录的条数
#log_throttle_queries_not_using_indexes = 5
# 定义慢查询的时间阈值为 2 秒
long_query_time = 2
#检索的行数必须达到此值才可被记为慢查询
min_examined_row_limit = 100
#mysql binlog日志文件保存的过期时间,过期后自动删除
expire_logs_days = 5
#==============设置MySQL运行日志存放位置===============
#general_log_file=/var/log/mysql/mysql.log
#general_log=1
# 关闭 general log
general_log = 0
general_log_file = D:\env\mysql\mysql-5.7.25\general.log
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值