您好,登錄后才能下訂單哦!
本文主要給大家簡單講講如何編譯安裝mysql中的字符集,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望如何編譯安裝mysql中的字符集這篇文章可以給大家帶來一些實際幫助。
1.編譯安裝的字符集情況
查看字符集的格式 mysql> show create table sanlang \G *************************** 1. row *************************** Table: sanlang Create Table: CREATE TABLE `sanlang` ( `id` int(11) DEFAULT NULL, `name` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) mysql> 插入數據 mysql> insert into sanlang values(22,"劉海笑"); Query OK, 1 row affected (0.00 sec) 測試 mysql> select * from sanlang; +------+-----------+ | id | name | +------+-----------+ | 1 | xiaoming | | 2 | xiaoli | | 3 | tt | | 4 | gg | | 22 | testdata | | 22 | 劉海笑 | +------+-----------+ 6 rows in set (0.00 sec) mysql>
更改字符集測試(更改字符集以后可以看出id為22的出現亂碼):
mysql> set names gbk ; Query OK, 0 rows affected (0.00 sec) mysql> select * from sanlang; +------+----------+ | id | name | +------+----------+ | 1 | xiaoming | | 2 | xiaoli | | 3 | tt | | 4 | gg | | 22 | testdata | | 22 | Ц | +------+----------+ 6 rows in set (0.10 sec) mysql>
2.mysql數據庫常見的字符集介紹
3.MYSQL如何選擇合適的字符集
1.如果處理各種各樣的文字,發布到不同一眼國家地區,mysql來說UTF-8(每個漢字三個自己),如果應用需要處理英文,僅有少量漢字utf8更好 2.如果只需要支持中文,并且數據量很大,性能要求也很高,可選GBK(訂場,每個漢字占用雙字節,英文也占雙字節),如需大量的運算, 比較排序等,定長字符集,更快,性能高 3.處理移動互聯網業務,可能需要使用utf8MP4的字符集 4.老師建議:沒有特別的需求,就選擇utf8的字符集
4.查看系統字符集
mysql> show character set ; mysql> show variables like 'character_set%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------+ | character_set_client | utf8 | #客戶端字符集 | character_set_connection | utf8 |#客戶端連接字符集 | character_set_database | utf8 |#數據庫字符集,配置文件指定或者建表指定 | character_set_filesystem | binary |#文件系統字符集 | character_set_results | utf8 |#返回結果字符集 | character_set_server | utf8 |#云服務器字符集,配置文件指定或建庫建表指定 | character_set_system | utf8 |#系統字符集 | character_sets_dir | /application/mysql-5.5.49/share/charsets/ | +--------------------------+-------------------------------------------+ 8 rows in set (0.00 sec) mysql>
5.set names 控制客戶端的字符集
可以看出set names只是控制了客戶端的字符集
mysql> show variables like 'character_set%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /application/mysql-5.5.49/share/charsets/ | +--------------------------+-------------------------------------------+ 8 rows in set (0.00 sec) mysql> set name gbk; mysql> show variables like 'character_set%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /application/mysql-5.5.49/share/charsets/ | +--------------------------+-------------------------------------------+ 8 rows in set (0.00 sec)
6.客戶端字符集統一
1.客戶端字符集統一 法①set names utf8 法②下面三個命令代替set names(其實就是更改了client的字符集) SET character_set_client = gbk SET character_set_connection = gbk SET character_set_results = gbk 法③登錄的時候指定字符集 [root@oldboy ~]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock --default-character-set=utf8; 法④通過修改my.cnf 實現修改mysl客戶端的字符集,并且永久生效 [client] default-character-set = utf8 #不需要重啟服務,退出登錄就生效 備注:多實例修改客戶端 字符集要修改/etc/my.cnf
7.更改mysql服務端的字符集
按照要求修改my.cnf參數 [mysqld] default-character-set = utf8 #適合5.1以及以前的版本 character-set-server = utf8 #適合5.5
8.創建庫的時候指定字符集
mysql> create database oldboy CHARACTER SET gbk COLLATE gbk_chinese_ci; 說明:建表的時候指定字符集,如果不指定字符集,那么表和庫的字符一樣
9.程序也要統一
程序和庫表的字符集統一
10.系統的字符集
[root@oldboy ~]# cat /etc/sysconfig/i18n LANG="zh_CN.UTF-8"
11.數據庫中執行sql語句的方法
a.sql語句在windows客戶端改成utf8沒有簽名的格式 b.導入數據指定字符集的格式 mysql -uroot -poldboy123 --default-character-set=utf8 <test.sql
12.更改庫字符集的思路(庫的表里面已經有數據了)
說明:有數據的情況下,對新數據生效,對老數據庫不生效 更改庫字符集的思想 1.數據庫不要更新,導出所有的數據 2.把導出的數據進行字符集的替換(替換表和庫) 3.修改my.cnf,更改mysql客戶端的服務端的字符集,重啟生效 4.導入更改過的字符集的數據,包括表結構語句,提供服務 5.ssh客戶端,以及程序更改為對應的字符集
如何編譯安裝mysql中的字符集就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。