五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【Mysql】How to store UTF8 characters in MySQL

2023-08-25 09:43 作者:懶時小窩  | 我要投稿

Part1原文

How to store UTF8 characters in MySQL - Ubiq BI

Part2引言

關于 《如何在MySQL中存儲UTF8字符》 的一篇英文博客閱讀和個人實戰(zhàn)筆記。注意個人實驗過程中使用了docker的Mysql 5.7 版本,讀者可以根據(jù)自身情況調整。

Part31. Shell 檢查字符集

如果不習慣Linux的小黑框,最簡單的方式是用navicat的命令行工具查詢,注意用戶需要具備對應的系統(tǒng)配置權限,建議用root操作:

首先我們右擊navicat的數(shù)據(jù)庫連接配置(已準備好),選擇“命令列界面”:

image.png

之后是navicat仿照的Shell,等待用戶輸入:

image.png

運行下面的命令可以查看所有字符集配置:

SHOW VARIABLES LIKE 'character_set%';

個人的實驗結果如下:

mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ?| +--------------------------+----------------------------+ | character_set_client ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_connection | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_database ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_set_filesystem | binary ? ? ? ? ? ? ? ? ? ? | | character_set_results ? ?| utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_server ? ? | latin1 ? ? ? ? ? ? ? ? ? ? | | character_set_system ? ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_sets_dir ? ? ? | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.03 sec)

可以看到字符集并不統(tǒng)一。

Part42. 修改字符集為UTF-8

個人使用為docker的mysql自定義映射的配置文件位置,和原始的安裝方式配置文件配置略有不同。不過基本的操作方式都是修改my.cnf的配置:

[client]?
default-character-set=utf8mb4?
[mysqld]?
character-set-server?=?utf8mb4

個人操作記錄如下,定位到映射文件位置之后,直接vim修改配置文件:

[root@localhost?conf]#?vim?/opt/mysql/conf/mysql.cnf?

在配置文件當中做如下改動:

[root@localhost?conf]#?cat?/opt/mysql/conf/mysql.cnf?
#?mysqld?custom
[mysqld]
#?下面部分可以忽略
sort_buffer_size?=?16M
read_rnd_buffer_size?=?2M
max_connections?=?10024

#?set?character?to?utf-8
character-set-server?=?utf8mb4

[client]
#?注意客戶端連接也要一并設置
default-character-set=utf8mb4

修改之后重啟docker的mysql鏡像。

[root@localhost?conf]#?docker?ps?
CONTAINER?ID???IMAGE???????COMMAND??????????????????CREATED???????STATUS???????PORTS????????????????????????????????????????????????????NAMES
58fa52f21404???mysql:5.7???"docker-entrypoint.s…"???3?hours?ago???Up?2?hours???33060/tcp,?0.0.0.0:13306->3306/tcp,?:::13306->3306/tcp???mysql57

重啟之后萬事大吉。

[root@localhost?conf]#?docker?restart?58f

之后依舊是連接mysql數(shù)據(jù)庫,繼續(xù)使用show variables like 'character%';命令查看當前字符集。

修改之前:

mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ?| +--------------------------+----------------------------+ | character_set_client ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_connection | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_database ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_set_filesystem | binary ? ? ? ? ? ? ? ? ? ? | | character_set_results ? ?| utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_server ? ? | latin1 ? ? ? ? ? ? ? ? ? ? | | character_set_system ? ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_sets_dir ? ? ? | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+

修改之后結果如下:

mysql> show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ?| +--------------------------+----------------------------+ | character_set_client ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_connection | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_database ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_filesystem | binary ? ? ? ? ? ? ? ? ? ? | | character_set_results ? ?| utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_server ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_system ? ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_sets_dir ? ? ? | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+

Part53. 數(shù)據(jù)表轉換為UTF-8

運行下面的命令,將你的數(shù)據(jù)庫的字符集和排序改為UTF8。用你的數(shù)據(jù)庫名稱替換下面的dbname。

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`

dbname 修改為自己的數(shù)據(jù)庫即可

上述命令將把你的數(shù)據(jù)庫中的所有表轉換為UTF8MB4 格式。


【Mysql】How to store UTF8 characters in MySQL的評論 (共 條)

分享到微博請遵守國家法律
临湘市| 潮安县| 景德镇市| 喜德县| 揭西县| 读书| 迭部县| 哈密市| 宜丰县| 绍兴市| 民乐县| 苏尼特左旗| 侯马市| 汝南县| 北宁市| 建始县| 宜宾市| 江源县| 彭阳县| 清水河县| 开封县| 武穴市| 三都| 桃园市| 怀安县| 赤城县| 雅江县| 贞丰县| 广元市| 扶绥县| 广东省| 新余市| 湄潭县| 泽普县| 茶陵县| 大化| 腾冲县| 襄城县| 高雄市| 小金县| 沾化县|