檢視配置# 要檢視預設值和自定義配置的值
mysqld --verbose --help
# 檢視 mysql 正在使用的引數值
mysqladmin variables
# 只檢視預設值
mysqld --no-defaults --verbose --help
常用配置說明
客戶端配置[client]
# 客戶端的預設連線埠
port=3306
# 本地通訊使用的套接字
socket=/run/mysqld/mysqld.sock
# 客戶端預設編碼
default-character-set=utf8mb4
服務端配置[mysqld]
# 監聽埠
port=3306
# 本地通訊使用的套接字
socket=/run/mysqld/mysqld.sock
# pid 檔案
pid-file=/run/mysqld/mysqld.pid
# 記錄啟動、關閉、警告、錯誤等日誌
log_error=/var/log/mysql/error.log
# 啟動使用者
user=mysql
# 資料庫程式安裝目錄
basedir=/usr
# 資料庫檔案存放目錄
datadir=/data
# 臨時目錄
tmpdir=/tmp
# 跳過 myisam 資料表外部鎖定
# myisam 資料表在多程序共用同乙個資料庫目錄時訪問需要鎖定
skip-external-locking
# 禁用網域名稱解析
skip-name-resolve
# 禁用埠訪問
#skip-networking
# 繫結 ip 位址
bind-address=0.0.0.0
# myisam 儲存引擎的執行緒共享索引緩衝區大小
key_buffer_size=64m
# 併發連線時快取開啟表的最大總數
# 每當 mysql 訪問乙個表時,如果表緩衝區中還有空間,該錶就被開啟並放入其中,以此加速訪問表
# 通過 show global status like 'open%tables' 檢查峰值時間的狀態值 open_tables 和 opened_tables 來判斷是否需要增加 table_open_cache 的值
# 推薦設定值
# open_tables / opened_tables >= 0.85
# open_tables / table_open_cache <= 0.95
table_open_cache=512
# 設定 order by 和 group by 排序操作緩衝區大小
sort_buffer_size=1m
# 服務端最大允許接收的資料報大小
max_allowed_packet=1m
# 資料報緩衝區初始化大小,會根據需要最大增長至 max_allowed_packet
net_buffer_length=8k
# 對 myisam 資料表進行順序掃瞄時每個執行緒的緩衝區大小
read_buffer_size=1m
# 對任何資料表隨機掃瞄時每個執行緒的緩衝區大小
read_rnd_buffer_size=512k
# 在 repair table 期間對 myisam 索引進行排序或使用 create index 或 alter table 建立索引時分配的緩衝區大小
myisam_sort_buffer_size=16m
# 執行緒池大小
thread_cache_size=16
# 對於讀多寫少的環境設定 1 啟用查詢快取會對效能有所提公升
# 0 預設值,禁用查詢快取
# 1 快取所有以 select 開頭的可快取查詢結果,select sql_no_cache 除外
# 2 僅快取以 select sql_cache 開頭的可快取查詢結果
query_cache_type=1
# 啟用查詢快取時,會快取 select 語句和對應的結果集,設定查詢快取的大小
query_cache_size=16m
# 內部記憶體臨時表的最大大小,超出限制時會自動將其轉換為磁碟上的臨時表
tmp_table_size=32m
# 預設為 false 情況下
# 如果 timestamp 列未指定 null 屬性,該列會自動新增 not null 屬性,如果向列中插入 null 會自動設定為 current_timestamp 值
# 如果表中第乙個 timestamp 列未指定 null 屬性或預設值,也沒有指定 on update 語句,該列會自動新增 default current_timestamp 和 on update current_timestamp 屬性
# 非第乙個 timestamp 列,如果沒有指定未指定 null 屬性和預設值,該列會自動新增 default '0000-00-00 00:00:00'屬性
explicit_defaults_for_timestamp=true
# 最大併發連線數
max_connections=500
# 允許客戶端錯誤連線最大次數,超過將被拉黑
max_connect_errors=100
# 最大開啟檔案數
open_files_limit=65535
# 伺服器 id,互相通訊的伺服器 id 不允許重複
server-id=1
# 二進位制日誌,相對於 datadir 路徑
log-bin=/var/log/mysql/mysql-bin
#relay_log=/var/log/mysql/mysql-relay-bin
# 二進位制日誌格式
binlog_format=mixed
# 二進位制日誌保留天數
expire_logs_days=14
# 設定自增的增量
auto_increment_increment=1
# 設定自增起始值
auto_increment_offset=1
# 預設新資料表的儲存引擎
default_storage_engine=innodb
# 每個資料庫的每個表都會生成乙個資料空間(.ibd 檔案)
innodb_file_per_table=1
# 如果不指定,則所有 innodb tablespace 檔案只能存放在 datadir 中
# 如果指定為空,則可為 innodb tablespace 檔案指定不同路徑
# 如果指定路徑,則所有 innodb tablespace 檔案只能存放在指定路徑中
#innodb_data_home_dir=
# 設定儲存 innodb 資料表的表空間存放位置、最大長度等屬性
# 每個表空間檔案規則用 ; 間隔
# 最後乙個表空間可以使用 autoextend 和 max:n 屬性
innodb_data_file_path=ibdata1:10m:autoextend
# innodb 快取池大小
innodb_buffer_pool_size=128m
# 指定 innodb 事務日誌(如 ib_logfile0、ib_logfile1)存放路徑
innodb_log_group_home_dir=/var/log/mysql
# 每個 innodb 事務日誌大小
innodb_log_file_size=64m
# innodb 事務日誌緩衝區大小
innodb_log_buffer_size=8m
# innodb 事務日誌同步磁碟時機
# 0 每次 commit 將事務日誌寫進了日誌緩衝區,然後每隔一秒將緩衝區的事務日誌同步到磁碟,效能最好,但 mysqld 程序崩潰會導致上一秒鐘所有事務資料的丟失
# 1 每次 commit 將事務日誌同步到磁碟,mysqld 崩潰不會丟失資料,但頻繁的 io 操作導致效率低下
# 2 每次 commit 將事務日誌寫進了日誌緩衝區並同時寫入系統緩衝區,然後每隔一秒將緩衝區的事務日誌同步到磁碟, mysqld 崩潰時不會丟失日誌,折衷的舉措
innodb_flush_log_at_trx_commit=1
# 如果某個事務在等待 n 秒後仍未獲得所需要的資源,就執行 rollback 回滾該事務
innodb_lock_wait_timeout=50
# 預設的編碼
character-set-server=utf8mb4
# 預設的排序規則
collation-server=utf8mb4_general_ci
其他配置# mysqldump 工具的配置
[mysqldump]
quick
max_allowed_packet=16m
# mysql 工具的配置
[mysql]
# 自動補全表名、欄位名
auto-rehash
prompt="\\u@\\h:\\d \\p>"
default-character-set=utf8mb4
# myisamchk 工具的配置
[myisamchk]
key_buffer_size=64m
sort_buffer_size=1m
read_buffer=2m
write_buffer=2m
# mysqlhotcopy 工具的配置
[mysqlhotcopy]
interactive-timeout
mysql域是什麼意思 MySQL 域
一 什麼是域?域是一種在關係當中列所允許值的表示式。當定義乙個表的時候,會為每個列指派一種資料型別 如字元型或者是整型 這些資料型別提供了乙個廣泛域。資料庫管理系統將不會儲存那些違背約束的資料資訊。sql 92標準引入了使用者自定義域的概念。要使用使用者自定義域,必須先建立該自定義域。二 語法 1....
mysql 指定時間 MySQL查詢指定時間的資料
mysql查詢指定時間的資料 user event 使用者事件表 create time 表中儲存時間的字段 獲取當月資料 select from user event where date format create time,y m date format now y m 獲取3月份資料 sel...
mysql指定值排序 mysql某列指定值靠前排序
單個列靠前排序 mysql 某列指定值靠前排序 order by case select from jcxsw t company product order by case when id 263 then 1 else 4 end category id desc 這段sql 會先排列id 26...