mysql 字符集的系統(tǒng)變量說明
更新時(shí)間:2009年07月24日 14:57:58 作者:
mysql 字符集的系統(tǒng)變量的一些說明,大家在使用過程中,可以作個(gè)參考。
1.character_set_server和collation_server
這兩個(gè)變量是服務(wù)器的字符集。在系統(tǒng)啟動(dòng)的時(shí)候可以通過--character-set-server和--collation-server來設(shè)置它們。如果沒有的話系統(tǒng)會(huì)把這兩各變量設(shè)置成默認(rèn)值latin1和latin1_swedish_ci。默認(rèn)值是編譯在程序中的,只能通過重新編譯來改變。
這兩個(gè)變量只用來為create database命令提供默認(rèn)值。
2.character_set_database和collation_database
這兩個(gè)變量是當(dāng)前數(shù)據(jù)庫的字符集。create database命令有兩個(gè)參數(shù)可以用來設(shè)置數(shù)據(jù)庫的字符集和比較規(guī)則。數(shù)據(jù)庫建立會(huì)在數(shù)據(jù)庫目錄下的db.opt文件中記錄數(shù)據(jù)庫的選項(xiàng),數(shù)據(jù)庫的字符集設(shè)置也記錄在里面。當(dāng)我們用use改變當(dāng)前數(shù)據(jù)庫時(shí),mysql會(huì)讀數(shù)據(jù)庫db.opt文件來設(shè)置這兩個(gè)變量。當(dāng)沒有當(dāng)前數(shù)據(jù)庫的時(shí)候這兩個(gè)變量等于character_set_server和collation_server。
這兩個(gè)變量只用來為create table命令提供默認(rèn)值。
3.character_set_client
這個(gè)變量用來決定mysql怎么解釋客戶端發(fā)到服務(wù)器的SQL命令文字。
4.character_set_connection和collation_connection
這兩個(gè)變量用來決定mysql怎么處理客戶端發(fā)來的SQL命令。mysql會(huì)把SQL命令文字從character_set_client編碼轉(zhuǎn)到character_set_connection然后再執(zhí)行。collation_connection在比較SQL中的直接量時(shí)使用。
5.character_set_results
當(dāng)SQL有結(jié)果返回的時(shí)候這個(gè)變量用來決定發(fā)給客戶端的結(jié)果中文字量的編碼。
還有幾個(gè)字符集概念沒有系統(tǒng)變量表示。
6.表的字符集
create table 的參數(shù)里可以設(shè)置,為列的字符集提供默認(rèn)值。
7.列的字符集
決定本列的文字?jǐn)?shù)據(jù)的存儲(chǔ)編碼。列的比較規(guī)則比collation_connection高。也就是說mysql會(huì)把SQL中的文字直接量轉(zhuǎn)成列的字符集后再與列的文字?jǐn)?shù)據(jù)比較。
8.character_set_system
這是元數(shù)據(jù)的字符集,數(shù)據(jù)庫,表和列的定義都是用的這個(gè)字符集。它有一個(gè)定值, 是utf-8
這兩個(gè)變量是服務(wù)器的字符集。在系統(tǒng)啟動(dòng)的時(shí)候可以通過--character-set-server和--collation-server來設(shè)置它們。如果沒有的話系統(tǒng)會(huì)把這兩各變量設(shè)置成默認(rèn)值latin1和latin1_swedish_ci。默認(rèn)值是編譯在程序中的,只能通過重新編譯來改變。
這兩個(gè)變量只用來為create database命令提供默認(rèn)值。
2.character_set_database和collation_database
這兩個(gè)變量是當(dāng)前數(shù)據(jù)庫的字符集。create database命令有兩個(gè)參數(shù)可以用來設(shè)置數(shù)據(jù)庫的字符集和比較規(guī)則。數(shù)據(jù)庫建立會(huì)在數(shù)據(jù)庫目錄下的db.opt文件中記錄數(shù)據(jù)庫的選項(xiàng),數(shù)據(jù)庫的字符集設(shè)置也記錄在里面。當(dāng)我們用use改變當(dāng)前數(shù)據(jù)庫時(shí),mysql會(huì)讀數(shù)據(jù)庫db.opt文件來設(shè)置這兩個(gè)變量。當(dāng)沒有當(dāng)前數(shù)據(jù)庫的時(shí)候這兩個(gè)變量等于character_set_server和collation_server。
這兩個(gè)變量只用來為create table命令提供默認(rèn)值。
3.character_set_client
這個(gè)變量用來決定mysql怎么解釋客戶端發(fā)到服務(wù)器的SQL命令文字。
4.character_set_connection和collation_connection
這兩個(gè)變量用來決定mysql怎么處理客戶端發(fā)來的SQL命令。mysql會(huì)把SQL命令文字從character_set_client編碼轉(zhuǎn)到character_set_connection然后再執(zhí)行。collation_connection在比較SQL中的直接量時(shí)使用。
5.character_set_results
當(dāng)SQL有結(jié)果返回的時(shí)候這個(gè)變量用來決定發(fā)給客戶端的結(jié)果中文字量的編碼。
還有幾個(gè)字符集概念沒有系統(tǒng)變量表示。
6.表的字符集
create table 的參數(shù)里可以設(shè)置,為列的字符集提供默認(rèn)值。
7.列的字符集
決定本列的文字?jǐn)?shù)據(jù)的存儲(chǔ)編碼。列的比較規(guī)則比collation_connection高。也就是說mysql會(huì)把SQL中的文字直接量轉(zhuǎn)成列的字符集后再與列的文字?jǐn)?shù)據(jù)比較。
8.character_set_system
這是元數(shù)據(jù)的字符集,數(shù)據(jù)庫,表和列的定義都是用的這個(gè)字符集。它有一個(gè)定值, 是utf-8
相關(guān)文章
MySQL創(chuàng)建用戶以及用戶權(quán)限詳細(xì)圖文教程
在MySQL中可以通過創(chuàng)建用戶來管理數(shù)據(jù)庫的訪問權(quán)限,下面這篇文章主要給大家介紹了關(guān)于MySQL創(chuàng)建用戶以及用戶權(quán)限的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
MySQL數(shù)據(jù)庫服務(wù)器逐漸變慢分析與解決方法分享
本文針對(duì)MySQL數(shù)據(jù)庫服務(wù)器逐漸變慢的問題, 進(jìn)行分析,并提出相應(yīng)的解決辦法2012-01-01

