mysql 塗抹筆記 第六章 字元,還有個集

2022-02-13 06:16:57 字數 2750 閱讀 5241

第六章 字元,還有個集

字符集就是各種字元編碼的乙個集合       字符集就是指符號和字元編碼的集合

utf8mb4:支援utf8能夠支援的字元,它全部支援,utf8字符集不支援, 它也支援。   mysql5.5之後才有的字符集

檢視當前資料庫支援的字符集

show character set;

顯示字符集的校對規則可以使用 show collation

show collation like 'latin%';

建立乙個資料庫指定字符集,以及排列順序

create database test2 default character set utf8mb4 collate utf8mb4_general_ci;

校對規則的名稱也有規則,通常開頭的字元是校對規則所屬的字符集,而後是其所屬語言, 最後則是校對規則型別的簡單形式,有以下3種格式

_ci:全稱為 case insensitive, 表示這個大小寫不敏感的規則

_cs: 全稱為 case sensitive, 表示這個對大小寫敏感的規則

_bin: 及binary, 表示這是乙個二元校對規則, 二元校對規則也一定是大小寫敏感規則

字符集和校對規則的設定, 從大的維度來說。有2個層次:

1)首先是連線資料庫, 執行操作時使用的字符集

2) 其次儲存資料時所使用的字符集

服務端設定預設字符集

字符集這麼重要的屬性, 當然不會等到我們實際儲存資料時才進行指定。 mysql服務啟動過程中,字符集的設定就已經生效,系統會確認預設所使用的字符集和校對規則。並且在啟動時指定的字符集和校對規則,對整個mysql服務的全域性有效,也就是說如果沒有更新的粒度對字符集和校對規則進行設定,那麼接下來的所有操作,其字符集的設定都會繼承全域性粒度所設定的預設字符集和校對規則

mysql中指定字符集的方式臺靈活了比如有:

1)在編譯安裝mysql(僅限原始碼安裝方式)時指定

2)啟動mysql服務是通過引數指定

3)在引數檔案配置,啟動mysql服務時載入引數檔案的方式使之生效

4)在mysql服務執行期間實時修改

1)我們在編譯安裝mysql軟體時, 就設定過字符集:

-ddefault_charset=utf8 \

-ddefault_collation=utf8_general_ci\

這連個引數決定本機所執行的mysql服務, 在沒有做任何其他字符集相關設定的情況下預設是的字符集和校對規則, 是在沒有其他設定的情況下。。

編譯時候指定預設的字符集和校對規則 通過default_charset  和 default_collation兩個編譯引數

2)在啟動mysql服務時指定

啟動mysql資料庫服務時(mysqld命令或mysqld_safe命令)有一堆的引數可以設定,其中與字符集相關的是下面兩項系統引數:

--character_set_server: 指定全域性粒度的預設字符集

--collation_server: 指定全域性粒度的預設校對規則

啟動時候沒有發現這2個引數,它們是有預設值得,它們的預設值會繼承編譯mysql軟體時 default_charset和 default_collation 這兩個引數所指定的值,如果mysql資料庫不是原始碼編譯安裝, 它們的預設值就會是latinl字符集和latinl_swedish_ci校對規則(也不是絕對的)

3)引數檔案配置

mysql服務在啟動時, 可以通過指定乙個引數檔案的形式(也就是my.cnf檔案)來簡化啟動命令中指定的選項,那麼, 通訊員可以將字符集和校對規則的引數設定放在引數檔案中。這兩項引數放到引數檔案中時,引數名與命令列的選項名相同, 不過指定引數時不需要"--"字元了, 例如:

character_set_server=utf8

collation_server=utf8_general_ci

4) mysql服務執行期間修改

前面3種方式均可用指定字符集和校對規則, 但若想要變更字符集設定時, 動靜就太大了, 生效需要重啟mysql服務。 實際上大可不必如此周折,這兩項引數,在mysql服務執行期間作為系統變數存在, 而系統變數在mysql服務執行期間, 多數都是可以被實時修改的,控制字符集和校對規則的系統變數就屬於被修改的那一類

show variables命令檢視當前系統變數基變數值

show variables命令檢視當前系統變數基變數值

collation_server 引數的值, 它也發生變化, 因為校對規則是基於字符集的,因此儘管我們沒有顯式地修改校對規則, 但是它的值也自動被修改為所設定的gbk字符集的預設規則

需要注意的是在mysql服務重啟的時候, 設定就會失效

mysql第六章 第六章 mysql日誌

第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...

第六章筆記

頂層const與底層const的區別 頂層const是指標物件本身是乙個常量,而底層const是指標所指的物件是乙個常量,理解起來就相當於前者是直接,後者是間接。宣告函式可以多次,但是每個形參只能用實參預設初始化一次,即後續宣告只可以為未預設初始化的形參新增預設實參,而且其形參右側的所有形參必須都有...

第六章 字元裝置

記錄一下 建立乙個簡單的字元裝置的編碼過程 前提準備 已經編譯好的linux核心 進入.drivers char 目錄 這裡存放著這字元裝置驅動 mkdir globalmem 建立乙個我們新建驅動的目錄並進入 新建globalmem.c檔案,清單如下 include include include...