Mysql的配置文件my.ini记录

1、先创建文件夹:

mkdir d:\mysql\data

mkdir d:\mysql\log

type nul>d:\mysql\log\mysql-slow.log

2、配置文件

[mysqld]

#Mysql服务实例的唯一编号 每个mysql服务实例Id需唯一

server-id =1

# 设置安装目录

basedir=d:\mysql

# 设置数据目录

datadir=d:\mysql\data

#快速预热缓冲池

innodb_buffer_pool_dump_at_shutdown=1

innodb_buffer_pool_load_at_startup=1

#大小写不敏感:1,大小写敏感0

lower_case_table_names=0

#允许任意IP访问

bind-address = 0.0.0.0

#把未使用到索引的sql记录到慢查询日志

log_queries_not_using_indexes  = 1

#日志输出会写表,也会写日志文件,为了便于程序去统计,所以最好写表

log_output=table,File

#是否打开慢查询sql日志

slow_query_log= 1

#慢查询sql日志的文件地址

slow_query_log_file= d:\mysql\log\mysql-slow.log

#慢查询执行的秒数,超过这个值则会被记录到慢查询日志

long_query_time = 1

#服务端口号 默认3306

port = 3306

#数据库默认字符集,注意不要再用utf8了

character-set-server = utf8mb4

#数据库字符集对应一些排序规则,要属于character-set-server对应值的集合内

collation-server = utf8mb4_general_ci

#设置client连接mysql时的字符集,防止乱码

init_connect='SET NAMES utf8mb4'

#二进制日志文件

log-bin=mysql-bin

log-bin-index=mysql-bin.index

#mysql binlog日志文件保存的过期时间默认为30天,过期后自动删除expire_logs_days将要弃用

binlog_expire_logs_seconds=2592000

#实验环境下, innodb_buffer_pool_instances=8 在很小的 buffer_pool 大小时有很大的不同,而使用大的 buffer_pool 时,innodb_buffer_pool_instances=1 的表现最棒

innodb_buffer_pool_instances=8

#限制单个文件大小,默认大小:1,073,741,824,即1G,太大了

max_binlog_size = 100M

#数据库错误日志文件

log_error=d:\mysql\log\mysqld.log

#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭  MySQL默认的wait_timeout 值为8个小时,interactive_timeout参数需要同时配置才能生效

interactive_timeout = 1800

wait_timeout = 1800

#my.cnf中的配置项:禁用域名的解析

#skip_name_resolve = 1

#my.cnf中的配置项:innodb是否为每个表使用独立的表空间文件

innodb_file_per_table = 1

#innodb_buffer_pool_size的默认大小是:128M,定义了buffer中每个chunk的大小,定义了buffer中chunk的数量

innodb_buffer_pool_chunk_size=128M

innodb_buffer_pool_instances=128M

#my.cnf中的配置项:连接限制之最大并发连接数,不能超过100000,SHOW GLOBAL STATUS LIKE 'Max_used_connections';从这里可以看到从服务开始使用的最大连接数

#variables 里的max_user_connections的区别。

#Max_used_connections /max_connections * 100% ≈ 85%

max_connections=600

max_connect_errors=1000

max_user_connections=400

#设置临时表最大值,这是每次连接都会分配,不宜设置过大 max_heap_table_size 和 tmp_table_size 要设置一样大

max_heap_table_size = 2048M

tmp_table_size = 2048M

#每个连接都会分配的一些排序、连接等缓冲,一般设置为 2MB 就足够了

sort_buffer_size = 2M

join_buffer_size = 2M

read_buffer_size = 2M

read_rnd_buffer_size = 2M

#my.cnf中的配置项:最大允许的包 max_allowed_packet

max_allowed_packet= 1024M

#0,每秒写一次log,并flush到磁盘    1,每次事务提交时,写log,同时flush到磁盘  2,每次事务提交时写log,每秒flush一次到磁盘

innodb_flush_log_at_trx_commit = 1

#如果是专用的DB服务器,且以InnoDB引擎为主的场景,通常可设置物理内存的60%

innodb_buffer_pool_size = 4G

#InnoDB的log buffer,通常设置为 64MB 就足够了

innodb_log_buffer_size = 64M

#InnoDB redo log大小,通常设置256MB 就足够了

innodb_log_file_size = 256M

#InnoDB redo log文件组,通常设置为 2 就足够了

innodb_log_files_in_group = 2

#InnoDB共享表空间初始化大小,默认是 10MB,改成 1GB,并且自动扩展

innodb_data_file_path = ibdata1:1G:autoextend

#设置临时表空间最大4G

innodb_temp_data_file_path=ibtmp1:500M:autoextend:max:4096M

#启用InnoDB的status file,便于管理员查看以及监控,

#当设置为0,该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。

#当设置为1,该模式是最安全的,但也是最慢的一种方式。在mysqld 服务崩溃或者服务器主机crash的情况下,binary log 只有可能丢失最多一个语句或者一个事务。

#当设置为2,该模式速度较快,也比0安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失。

innodb_status_file = 1

#设置事务隔离级别为 READ-COMMITED,提高事务效率,通常都满足事务一致性要求

transaction_isolation = READ-COMMITTED

##作为从库时生效,从库复制中如何有慢sql也将被记录

#log_slow_slave_statements = 1

#InnoDB使用后台线程处理数据页上读写I/0请求的数量,允许值的范围是1-64

#假设CPU是2颗4核的,且数据库读操作比写操作多,可设置

#innodb_read_io_threads=5

#innodb_write_io_threads=3

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[client]

#服务端口号 默认3306

port = 3306

#客户端默认字符集

default-character-set=utf8

你可能感兴趣的:(Mysql的配置文件my.ini记录)