windows下mysql配置,my.ini配置文件


 2019.9.20更新

mysql5.7以上和5.7以下的版本存在參數配置不同

5.7以上報不存在的字段有
unknown variable 'innodb_additional_mem_pool_size=2M'
解決:移除這個配置
innodb_additional_mem_pool_size 和 innodb_use_sys_malloc 在 MySQL 5.7.4 中移除。

#unknown variable 'log-slow-queries'
解決:
mysql5.6版本以上,取消了參數log-slow-queries,更改為slow-query-log-file
還需要加上 slow_query_log = on 否則,還是沒用
#log-slow-queries = /home/db/madb/log/slow-query.log
slow_query_log = on
slow-query-log-file = /home/db/madb/log/slow-query.log
long_query_time = 1

5.7以上版本使用 character_set_server=utf8 代替default-character-set = utf8 

#unknown variable myisam_max_extra_sort_file_size=100G
5.7版本沒有上面參數,去除

 

基本配置,這個配置可以直接復制到mysql根目錄下了my.ini文件中,

[client]
port=3306

[mysql]
no-beep

# default-character-set=

[mysqld]
port=3306

# mysql根目錄
basedir="D:\AppServ\mysql5.7\"

# 放所有數據庫的data目錄
datadir=D:\AppServ\mysql5.7\data

# character-set-server=

# 默認存儲引擎innoDB
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

#日志輸出為文件
log-output=FILE

# 是否開啟sql執行結果記錄,必須要設置general_log_file參數,日志的路徑地址
# 即日志跟蹤,1為開啟,0為關閉
general-log=0
general_log_file="execute_sql_result.log"

# 配置慢查詢,5.7版本默認為1
slow-query-log=1
slow_query_log_file="user-slow.log"
long_query_time=10

#默認不開啟二進制日志
#log-bin=mysql-log

#錯誤信息文件設置,會將錯誤信息放在data/mysql.err文件下
log-error=mysql.err

# Server Id.數據庫服務器id,這個id用來在主從服務器中標記唯一mysql服務器
server-id=1

#lower_case_table_names: 此參數不可以動態修改,必須重啟數據庫
#lower_case_table_names = 1  表名存儲在磁盤是小寫的,但是比較的時候是不區分大小寫
#lower_case_table_names=0  表名存儲為給定的大小和比較是區分大小寫的 
#lower_case_table_names=2, 表名存儲為給定的大小寫但是比較的時候是小寫的
lower_case_table_names=1

#限制數據的導入導出都只能在Uploads文件中操作,這個是在sql語句上的限制。
#secure-file-priv="D:\AppServ\mysql-5.7.23/Uploads"
#值為null ,也就是注釋掉這個參數或者secure-file-priv=null。表示限制mysqld 不允許導入|導出
#值為/tmp/ ,即secure-file-priv="/tmp/" 表示限制mysqld 的導入|導出只能發生在/tmp/目錄下
#沒有具體值時,即secure-file-priv=      表示不對mysqld 的導入|導出做限制

# 最大連接數
max_connections=151
# 打開表的最大緩存數
table_open_cache=2000

# tmp_table_size 控制內存臨時表的最大值,超過限值后就往硬盤寫,寫的位置由變量 tmpdir 決定 
tmp_table_size=16M

# 每建立一個連接,都需要一個線程來與之匹配,此參數用來緩存空閑的線程,以至不被銷毀,
# 如果線程緩存中有空閑線程,這時候如果建立新連接,MYSQL就會很快的響應連接請求。
# 最大緩存線程數量
thread_cache_size=10

MyISAM引擎的配置,不是很了解存儲引擎。先復制上來,做備份

#*** MyISAM Specific options  MyISAM引擎的配置
# MySQL重建索引時所允許的最大臨時文件的大小
myisam_max_sort_file_size=100G

myisam_sort_buffer_size=8M
key_buffer_size=8M
read_buffer_size=0
read_rnd_buffer_size=0
View Code

 

InnonDB配置

#*** INNODB Specific options InnoDB存儲引擎的配置

# InnoDB表的目錄共用設置。沒有在 my.cnf 進行設置,InnoDB 將使用MySQL的 datadir 目錄為缺省目錄。
# 如果設定一個空字串,可以在 innodb_data_file_path 中設定絕對路徑
#innodb_data_home_dir=

# 通常設置為 1,意味着在事務提交前日志已被寫入磁盤, 事務可以運行更長以及服務崩潰后的修復能力。
# 如果你願意減弱這個安全,或你運行的是比較小的事務處理,可以將它設置為 0 ,以減少寫日志文件的磁盤 I/O。
innodb_flush_log_at_trx_commit=1

# InnoDB 將日志寫入日志磁盤文件前的緩沖大小
innodb_log_buffer_size=1M

# InnoDB 用來高速緩沖數據和索引內存緩沖大小。
innodb_buffer_pool_size=8M

innodb_log_file_size=48M

# InnoDB 會試圖將 InnoDB 服務的使用的操作系統進程小於或等於這里所設定的數值。默認為8
innodb_thread_concurrency=9

innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0

back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM