Mysql修改資料庫的字元集

來源:互聯網
上載者:User

標籤:

----修改資料庫字元集的一個原則是:新的字元集包含的字型檔要>=原有的字元集字型檔,否則已經存在的資料可能會變為亂碼。

如果資料庫中暫時還沒有資料,那麼我們可以直接執行命令。假如此時資料庫中有表,那麼表的字元集是不會隨著資料庫的字元集更改而更改的。

alter database dbname character set charset_name

假如資料庫中存在有資料,其實也可以執行這個命令,但是會遺留一個問題,也就是之前已經存在的資料的表的字元集,而只是對新加的表或者記錄生效。

此時我們可以通過另外的方法來將字元集進行修改。

類比環境,類比將資料庫A的字元集從latin1修改為gbk(下面語句中的參數具體含義請自行尋找)

1.export目前A資料庫中已經存在的表結構(目前A資料庫中存在表a)

mysqldump -uroot -p --default-character-set=gbk -d A >table_create.sql

2.手動將table_create.sql中的表結構的字元集為gbk

具體是:

CREATE TABLE `a` (  `id` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=gbk;

3.確認應用程式已經不再修改A資料庫中所有表的資料,再export所有的資料

mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set =latin1 A>A_data.sql

4.開啟A_data.sql,將其中的SET NAMES latin1修改為SET NAMES gbk.

/*!40101 SET NAMES gbk */;

5.將以前的資料庫刪除掉

6.使用新的字元集來建立同名資料庫

create database A default charset gbk;

7.使用table_create.sql來建立表

mysql -uroot -p A <table_create.sql

8.import資料,使用A_data.sql

mysql -uroot -p A <A_data.sql

至此,我們就已經完整的將A資料庫的字元集從latin1修改為gbk

Mysql修改資料庫的字元集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.