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...