Mysql的配置文件my.ini記錄

1、先創(chuàng)建文件夾:

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

# 設置數(shù)據(jù)目錄

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記錄到慢查詢?nèi)罩?/p>

log_queries_not_using_indexes? = 1

#日志輸出會寫表,也會寫日志文件,為了便于程序去統(tǒng)計,所以最好寫表

log_output=table,File

#是否打開慢查詢sql日志

slow_query_log= 1

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

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

#慢查詢執(zhí)行的秒數(shù),超過這個值則會被記錄到慢查詢?nèi)罩?/p>

long_query_time = 1

#服務端口號 默認3306

port = 3306

#數(shù)據(jù)庫默認字符集,注意不要再用utf8了

character-set-server = utf8mb4

#數(shù)據(jù)庫字符集對應一些排序規(guī)則,要屬于character-set-server對應值的集合內(nèi)

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

#實驗環(huán)境下, innodb_buffer_pool_instances=8 在很小的 buffer_pool 大小時有很大的不同,而使用大的 buffer_pool 時,innodb_buffer_pool_instances=1 的表現(xiàn)最棒

innodb_buffer_pool_instances=8

#限制單個文件大小,默認大小:1,073,741,824,即1G,太大了

max_binlog_size = 100M

#數(shù)據(jù)庫錯誤日志文件

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

#MySQL連接閑置超過一定時間后(單位:秒)將會被強行關閉? MySQL默認的wait_timeout 值為8個小時,interactive_timeout參數(shù)需要同時配置才能生效

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的數(shù)量

innodb_buffer_pool_chunk_size=128M

innodb_buffer_pool_instances=128M

#my.cnf中的配置項:連接限制之最大并發(fā)連接數(shù),不能超過100000,SHOW GLOBAL STATUS LIKE 'Max_used_connections';從這里可以看到從服務開始使用的最大連接數(shù)

#variables 里的max_user_connections的區(qū)別。

#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引擎為主的場景,通常可設置物理內(nèi)存的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,便于管理員查看以及監(jiān)控,

#當設置為0,該模式速度最快,但不太安全,mysqld進程的崩潰會導致上一秒鐘所有事務數(shù)據(jù)的丟失。

#當設置為1,該模式是最安全的,但也是最慢的一種方式。在mysqld 服務崩潰或者服務器主機crash的情況下,binary log 只有可能丟失最多一個語句或者一個事務。

#當設置為2,該模式速度較快,也比0安全,只有在操作系統(tǒng)崩潰或者系統(tǒng)斷電的情況下,上一秒鐘所有事務數(shù)據(jù)才可能丟失。

innodb_status_file = 1

#設置事務隔離級別為 READ-COMMITED,提高事務效率,通常都滿足事務一致性要求

transaction_isolation = READ-COMMITTED

##作為從庫時生效,從庫復制中如何有慢sql也將被記錄

#log_slow_slave_statements = 1

#InnoDB使用后臺線程處理數(shù)據(jù)頁上讀寫I/0請求的數(shù)量,允許值的范圍是1-64

#假設CPU是2顆4核的,且數(shù)據(jù)庫讀操作比寫操作多,可設置

#innodb_read_io_threads=5

#innodb_write_io_threads=3

[mysql]

# 設置mysql客戶端默認字符集

default-character-set=utf8

[client]

#服務端口號 默認3306

port = 3306

#客戶端默認字符集

default-character-set=utf8

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容