MySQL配置學習筆記

2021-07-22 15:28:52 字數 2891 閱讀 1808

1、mysql的特點

(1)網路訪問

(2)io讀寫頻繁

2、mysql基本配置

bind-address = 10.6.20.1

port = 3306

character_set_server = utf8

max_connect_errors = 1000000

max_connections = 500

datadir = /data/mysql

log-error = /var/log/mysql/mysql-error.log-error

skip_name_resolve

back_log = 2000

log-bin = /data/mysql

binlog-format = mixed

expire_logs_days = 2

或者

[mysqld] 

basedir=d:/program files (x86)/mysql # 設定mysql的安裝目錄

datadir=d:/program files (x86)/mysql/data # 設定mysql資料庫的資料的存放目錄,必須是data,或者是//***/data

*************************分割線*******************

port = 3306

socket = /tmp/mysql.sock

default-character-set=gbk # 設定mysql伺服器的字符集

skip-locking

key_buffer = 16k

max_allowed_packet = 1m

table_cache = 4

sort_buffer_size = 64k

read_buffer_size = 256k

read_rnd_buffer_size = 256k

net_buffer_length = 2k

thread_stack = 64k

[client]

#password = your_password

port = 3306

socket = /tmp/mysql.sock

default-character-set=gbk

*************************分割線*******************

3、重要引數的解釋:

bind-address

遠端訪問的繫結位址,如果沒有這句話,那麼對遠端訪問沒有限制。如果有這句話,只能限制這句話的ip來訪問

default-storage-engine=innodb

預設的表儲存引擎

sql-mode="strict_trans_tables,no_auto_create_user,no_engine_substitution"

# sql模式為strict模式

query_cache_size=0

# 查詢快取大小,用於快取select查詢結果。如果有許多返回相同查詢結果的select查詢,並且很少改變表,可以設定query_cache_size大於0,可以極大改善查詢效率。而如果表資料頻繁變化,就不要使用這個,會適得其反

back_log=600

指定mysql可能的連線數量。當mysql主線程在很短的時間內得到非常多的連線請求,該引數就起作用,之後主線程花些時間(儘管很短)檢查連線並且啟動乙個新執行緒。

back_log引數的值指出在mysql暫時停止響應新請求之前的短時間內多少個請求可以被存在堆疊中。如果系統在乙個短時間內有很多連線,則需 要增大該引數的值,該引數值指定到來的tcp/ip連線的偵聽佇列的大小。不同的作業系統在這個佇列大小上有它自己的限制。試圖設定back_log高於 你的作業系統的限制將是無效的。

當觀察mysql程序列表,發現大量 264084 | unauthenticated user | ***.***.***.*** | null | connect | null | login | null 的待連線程序時,就要加大 back_log 的值。back_log預設值為50。

table_cache = 614

#指示表調整緩衝區大小。# table_cache 引數設定表快取記憶體的數目。每個連線進來,都會至少開啟乙個表快取。#因此, table_cache 的大小應與 max_connections 的設定有關。例如,對於 200 個#並行執行的連線,應該讓表的快取至少有 200 × n ,這裡 n 是應用可以執行的查詢#的乙個聯接中表的最大數量。此外,還需要為臨時表和檔案保留一些額外的檔案描述符。

# 當 mysql 訪問乙個表時,如果該錶在快取中已經被開啟,則可以直接訪問快取;如果#還沒有被快取,但是在 mysql 表緩衝區中還有空間,那麼這個表就被開啟並放入表緩#沖區;如果表快取滿了,則會按照一定的規則將當前未用的表釋放,或者臨時擴大表快取來存放,使用表快取的好處是可以更快速地訪問表中的內容。執行 flush tables 會#清空快取的內容。一般來說,可以通過檢視資料庫執行峰值時間的狀態值 open_tables #和 opened_tables ,判斷是否需要增加 table_cache 的值(其中 open_tables 是當#前開啟的表的數量, opened_tables 則是已經開啟的表的數量)。即如果open_tables接近table_cache的時候,並且opened_tables這個值在逐步增加,那就要考慮增加這個#值的大小了。還有就是table_locks_waited比較高的時候,也需要增加table_cache。

MYSQL學習筆記 MYSQL解壓版配置

配置path c anzhuangwenjian mysql mysql 5.7.25 winx64 bin 主目錄下建立建立my.ini client port 3306 default character set utf8 mysqld basedir c mysql 5.7.21 winx64...

mysql學習筆記 基本配置記錄

sql語句主要可以劃分為以下3個類別。ddl data definition languages 語句 資料定義語言,這些語句定義了不同的資料段 資料庫 表 列 索引等資料庫物件。常用的語句關鍵字主要包括create drop alter等。ddl是資料定義語言的縮寫,簡單來說,就是對資料庫內部的物...

Django 學習筆記(六)MySQL配置

環境 ubuntu16.4 工具 python3.5 一 安裝mysql資料庫 終端命令 sudo apt get install mysql server sudo apt get install mysql client sudo apt get install libmysqlclient d...