成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

七步操作!教你正確更換MySQL數(shù)據(jù)庫字符集

數(shù)據(jù)庫 MySQL
今天小編就同大家一起梳理下如何正確更換數(shù)據(jù)庫的字符集,下文將簡單講解數(shù)據(jù)庫不同字符集的轉(zhuǎn)換過程。

作為資深的DBA程序員,在工作中是否會(huì)遇到更這樣的情況呢?

原有數(shù)據(jù)庫的字符集由于前期規(guī)劃不足,隨著業(yè)務(wù)的發(fā)展不能滿足業(yè)務(wù)的需求。如原來業(yè)務(wù)系統(tǒng)用的是utf8字符集,后期有存儲(chǔ)表情符號的需求,uft8字符集就不能滿足此時(shí)的業(yè)務(wù)需求了。需要用utf8mb4字符集。

數(shù)據(jù)庫遷移,源和目標(biāo)數(shù)據(jù)庫的字符集不一致,需要在遷移之前進(jìn)行轉(zhuǎn)換。

更換數(shù)據(jù)庫字符集的時(shí)候明明很認(rèn)(jian)真(dan),總是會(huì)出現(xiàn)各種各樣的問題,導(dǎo)致更換之后數(shù)據(jù)庫的數(shù)據(jù)出現(xiàn)亂碼!

今天小編就同大家一起梳理下如何正確更換數(shù)據(jù)庫的字符集,下文將簡單講解數(shù)據(jù)庫不同字符集的轉(zhuǎn)換過程。步驟轉(zhuǎn)化,杜絕亂碼!

常用字符集

  • GBK是國家標(biāo)準(zhǔn)GB2312基礎(chǔ)上擴(kuò)容后兼容GB2312的標(biāo)準(zhǔn)。GBK的文字編碼是用雙字節(jié)來表示的,即不論中、英文字符均使用雙字節(jié)來表示,為了區(qū)分中文,將其***位都設(shè)定成1。GBK包含全部中文字符,是國家編碼,通用性比UTF8差,不過UTF8占用的數(shù)據(jù)庫比GBK大。支持簡體中文及繁體中文。
  • utf8字符集:是一種UTF-8編碼的Unicode字符集,每個(gè)字符占用1到3個(gè)字節(jié)。UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強(qiáng)。

七步操作!教你正確更換MySQL數(shù)據(jù)庫字符集

  • utf8mb4字符集:是一種UTF-8編碼的Unicode字符集,每個(gè)字符占用1到4個(gè)字節(jié)??梢愿采wBMP范圍內(nèi)的字符和增補(bǔ)字符。BMP范圍內(nèi)的字符編碼和utf8字符集中的編碼是完全相同的,長度也是完全一樣的,所以utf8mb4字符集可以兼容utf8字符集。
  • GB2312是GBK的子集,GBK是GB18030的子集。
  • big5支持繁體中文

轉(zhuǎn)化過程

以下模擬的是將latin1字符集的數(shù)據(jù)庫修改成GBK的過程 。其他字符集的轉(zhuǎn)換過程類似。需要注意的是要轉(zhuǎn)換的目標(biāo)字符集一定是源字符集的超級或者目標(biāo)字符集的范圍包含源字符集的范圍。

七步操作!教你正確更換MySQL數(shù)據(jù)庫字符集

1. 導(dǎo)表結(jié)構(gòu)

  1. mysqldump -uroot -p --default-character-set=gbk -d databasename >createtb.sql 

其中--default-character-set=gbk表示設(shè)置以什么字符集連接,-d表示只導(dǎo)出表結(jié)構(gòu),不導(dǎo)出數(shù)據(jù)。

2. 手工修改createtb.sql中表結(jié)構(gòu)定義中的字符集為新的字符集。

3. 確保記錄不再更新,導(dǎo)出所有記錄

  1. mysqldump -root -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename>data.sql 
  • quick:該選項(xiàng)用于轉(zhuǎn)儲(chǔ)大的表。它強(qiáng)制mysqldump從服務(wù)器一次一行地檢索表中的行而不是所有的行,并在輸出前將它緩沖到內(nèi)存中。
  • extended-insert:使用包括幾個(gè)values列表的多行insert語法。這樣使轉(zhuǎn)儲(chǔ)文件更小,重載文件時(shí)可以加速插入。
  • no-create-info:不導(dǎo)出每個(gè)轉(zhuǎn)儲(chǔ)表的create table語句。
  • default-character-set=latin1:按照原有的字符集導(dǎo)出所有數(shù)據(jù)。這樣導(dǎo)出的文件中,所有中文都是可見的,不會(huì)保存成亂碼。

4. 打開data.sql,將set names latin1修改成set names bgk.

5. 使用新的字符集創(chuàng)建新的數(shù)據(jù)庫。

  1. create database databasename default charset bgk; 

6. 創(chuàng)建表,執(zhí)行createtab.sql

  1. mysql -root -p databasename <createtb.sql 

7. 導(dǎo)入數(shù)據(jù),執(zhí)行data.sql

  1. mysql -root -p databasename <data.sql 

總結(jié)

新的字符集一定要是原字符集的超集,不然轉(zhuǎn)化之后,數(shù)據(jù)會(huì)出現(xiàn)亂碼。常見字符集轉(zhuǎn)換如下:

七步操作!教你正確更換MySQL數(shù)據(jù)庫字符集

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2009-11-06 14:33:27

WCF代理節(jié)點(diǎn)

2009-11-05 11:06:07

Visual Sour

2023-09-26 08:00:00

人工智能數(shù)據(jù)集

2011-12-05 10:43:54

JavaJDBC數(shù)據(jù)庫

2023-04-26 01:07:03

2010-06-01 12:51:23

MySQL數(shù)據(jù)庫

2020-11-16 11:30:34

MySQL數(shù)據(jù)庫MongoDB

2010-04-21 09:49:10

Oracle數(shù)據(jù)庫字符

2010-04-13 12:23:34

Oracle數(shù)據(jù)庫

2010-02-23 13:48:59

CentOS Data

2011-12-13 11:08:23

虛擬化SRMvCenter Ser

2019-09-10 07:58:01

字符集MySQL數(shù)據(jù)庫

2010-05-17 09:35:10

MySQL 字符集

2010-08-10 13:15:36

Flex配置

2019-03-10 20:37:14

Python編程語言

2023-04-28 14:38:47

2010-04-13 13:24:04

Oracle數(shù)據(jù)庫

2010-04-23 10:18:42

Oracle數(shù)據(jù)庫字符

2010-05-06 18:01:07

Oracle Expr

2009-10-22 10:43:33

CLR函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人小视频在线免费观看 | 亚洲男女激情 | 视频一区 亚洲 | 大吊一区二区 | 亚洲一区二区三区视频 | 欧美videosex性极品hd | 日韩成人中文字幕 | 91国内精精品久久久久久婷婷 | 一级免费毛片 | 91久久精品一区二区二区 | 亚洲视频一区在线观看 | 亚洲日本欧美 | 亚洲视频免费 | 91国自视频| 日韩精品在线一区 | 色中文在线 | 国产精品国产三级国产aⅴ无密码 | 天天玩天天干天天操 | 在线免费观看成年人视频 | 中文字幕乱码亚洲精品一区 | 欧美舔穴 | www.国产精| 99热播精品 | 欧美自拍另类 | 成人a视频片观看免费 | 在线观看国产 | 伦理一区二区 | 91丨九色丨国产在线 | 国产成人精品久久二区二区 | 九一国产精品 | 国产精品视频一区二区三区不卡 | 91久久精品日日躁夜夜躁国产 | 日韩视频在线一区 | 在线免费观看成年人视频 | 九九99靖品 | 精品久久99| 国产一二区免费视频 | 欧美日韩综合精品 | 成人亚洲网站 | 国产区免费视频 | 91精品国产色综合久久 |