啟動項是mysql服務啟動時傳遞過去的一些引數(可以通過命令列也可以通過組態檔),系統變數是影響服務器運行行為的變數
1.命令列指定配置項
只在首次啟動生效
長引數使用 ”--下劃線分割單詞“ 的形式
短引數使用“-字母”的形式,且引數區分大小寫
2.組態檔指定配置項
Linux環境下,按照下列順序尋找組態檔:
| 路徑名 | 備注 |
|---|---|
/etc/my.cnf |
|
/etc/mysql/my.cnf |
|
SYSCONFDIR/my.cnf |
|
$MYSQL_HOME/my.cnf |
特定于服務器的選項(僅限服務器) |
defaults-extra-file |
命令列指定的額外組態檔路徑 |
~/.my.cnf |
用戶特定選項 |
~/.mylogin.cnf |
用戶特定的登錄路徑選項(僅限客戶端) |
SYSCONFDIR表示在使用CMake構建MySQL時使用SYSCONFDIR選項指定的目錄,默認情況下,這是位于編譯安裝目錄下的etc目錄,
也可以在啟動MySQL時通過 ”--defaults-file“指定組態檔路徑,如果組態檔不存在或者無法訪問則會發生錯誤
3.組態檔具體內容
組態檔啟動項劃分為多個組
[server] (具體的啟動選項...)
option = value
......
[mysqld] (具體的啟動選項...)
option = value
......
[mysqld_safe] (具體的啟動選項...)
option = value
......
[client] (具體的啟動選項...)
option = value
......
[mysql] (具體的啟動選項...)
option = value
......
[mysqladmin] (具體的啟動選項...)
option = value
......
[server]組下邊的啟動選項將作用于所有的服務器程式,
[client]組下邊的啟動選項將作用于所有的客戶端程式,
| 啟動命令 | 類別 | 能讀取的組 |
|---|---|---|
mysqld |
啟動服務器 | [mysqld]、[server] |
mysqld_safe |
啟動服務器 | [mysqld]、[server]、[mysqld_safe] |
mysql.server |
啟動服務器 | [mysqld]、[server]、[mysql.server] |
mysql |
啟動客戶端 | [mysql]、[client] |
mysqladmin |
啟動客戶端 | [mysqladmin]、[client] |
mysqldump |
啟動客戶端 | [mysqldump]、[client] |
命令列引數的優先級>組態檔引數
系統變數
-
查看系統變數
show [global] variables like '%[系統變數名]%';
該sql默認查詢當前session系統變數,通過global指定查詢global變數
-
修改統變數
set [global] 系統變數名=系統變數值;
-
查看狀態變數(狀態變數維護當前運行中的mysql的狀態 )
show [golbal] status like '%[狀態變數名]%';
編碼
ASCII:128字符,占1個位元組
IOS 8859-1:256字符,占1個位元組,別名latin1
GB2312:收錄漢字,如果是ASCII字符集,占1位元組否則占2位元組,擴充后改為GBK
utf8:占1~4位元組變長編碼
mysql中utf8默認時utf8mb3閹割版的utf8,只使用1~3位元組,完整版utf8需要指定utf8mb4
編碼比較規則
字符集_語言地區_后綴,后綴是該規則是否區分重音、大小寫等
| 后綴 | 英文釋義 | 描述 |
|---|---|---|
_ai |
accent insensitive |
不區分重音 |
_as |
accent sensitive |
區分重音 |
_ci |
case insensitive |
不區分大小寫 |
_cs |
case sensitive |
區分大小寫 |
_bin |
binary |
以二進制方式比較 |
MySQL中可以分別在服務器級別、資料庫級別、 表級別、列級別設定字符集和比較規則
MySQL中字符集轉換設計三個系統變數character_set_client、character_set_connection、character_set_results,請求島到MySQL服務器先根據character_set_client解碼得到字串,然后按照character_set_connection編碼得到位元組串,然后根據位元組串去表中查詢,得到結果根據character_set_results編碼回傳給客戶端
通常將character_set_client、character_set_connection、character_set_results三個系統變數設定成相同的值
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/163675.html
標籤:其他
