Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

年份: 2019 年

幫 MySQL 加上 storage engine 設定來支援 utf8mb4

Posted on 2019 年 4 月 25 日2021 年 3 月 12 日 By 日落 在〈幫 MySQL 加上 storage engine 設定來支援 utf8mb4〉中尚無留言

在前篇有提到要在 my.ini 設定預設值,但實際要完全可以支援到 UTF8mb4 的話,還要多幾項設定,不然還是有機會遇到錯誤,像是:「The maximum column size is 767 bytes」之類的。

先講「innodb_large_prefix」,由於 UTF8mb4 會讓儲存相同內容的 bytes 更多,建立索引時會發生錯誤,所以必須支援 large preefix 來避免建立所以時發生錯誤。可以參考 MySQL 官方說明。

在 MySQL 5.7 之後,InnoDB 新增個幾種儲存格式,像是 Barracuda,可以應付各種不同的情境,也可以支援 UTF8mb5 這種字元,所以要使用的話大概會需要這樣設定:

innodb_large_prefix
innodb_file_per_table = 1
innodb_file_format=Barracuda
innodb_default_row_format=DYNAMIC

完整的設定檔大概會類似下面這樣:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
innodb_large_prefix
innodb_file_per_table = 1
innodb_file_format=Barracuda
innodb_default_row_format=DYNAMIC

[mysqldump]
default-character-set = utf8mb4

Tags:MySQL

讓 MySQL 預設使用特定的 character set

Posted on 2019 年 4 月 11 日2021 年 3 月 12 日 By 日落 在〈讓 MySQL 預設使用特定的 character set〉中尚無留言

MySQL 支援多個不同的 character set,像是 latin1、utf8 等等,但是只要在規劃、連線時沒有做好設定,就很容易對應到錯誤的 character set 導致出現亂碼。

自己從 gslin 和 Percona、Study-Area 那邊整理出一些比較保險的設定方法,可以避免之後在維護時發生錯誤:

[client]
default-character-set = utf8mb4

[mysqld]
default-storage-engine         = InnoDB
character-set-server           = utf8mb4
collation-server               = utf8mb4_unicode_ci
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'

備註:

  • 以上設定檔適用於 MySQL / Percona server 5.7,不同版本有不同的 config keyword
  • 上面的範例為 utf8mb4,可自行調整成自己需要的 character set
  • 就算 MySQL server 有這些設定以後,連線到 MySQL 的程式也需要注意編碼設定,否則還是會發生編碼錯誤
Tags:MySQL

Garmin fenix 手錶錶帶扣環斷裂的處理

Posted on 2019 年 4 月 9 日2021 年 3 月 12 日 By 日落 在〈Garmin fenix 手錶錶帶扣環斷裂的處理〉中尚無留言

Garmin fenix 3 HR 的手錶,錶帶扣環因為長期使用 (約 2 年) 而斷裂。

查詢後大概知道有幾個處理方式:

  • 到各縣市維修站點送修
  • 參考 Garmin 官方網頁說明,請客服協助處理
這次是透過 email 聯繫 Garmin 客服,先請教報修流程,很意外的 Garmin 客服表示扣環斷裂,可以透過寄信的方式,將零件寄送到住處並自行處理:

錶帶固定扣環我們可以郵局平信的方式免費提供給您,在請您留意郵件。

扣環安裝不需拆下錶帶。
因扣環稍有彈性,在套進去錶帶時,稍微拉撐後,慢慢推入錶帶內即可。

收到扣環後,在將扣環套進錶帶時,會因為最前端的金屬卡榫大小幾乎一致而很難套入,需要稍用力將橡皮扣環拉開。套入後即可正常使用。
Tags:生活雜記

Ubuntu 18.04 網路設定檔異動

Posted on 2019 年 2 月 25 日2021 年 3 月 12 日 By 日落 在〈Ubuntu 18.04 網路設定檔異動〉中尚無留言

在 Ubuntu 14.04 時代,網路介面的設定檔在 /etc/network/interfaces,但在 18.04 以後改用了 netplan 來做網路介面的管理,設定檔也跟著改變。

打開 /etc/network/interfaces 後,你會看到以下的說明:

# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown

若要修改網路設定檔,大至上要二個步驟:
確認網路介面的 ID (Ubuntu 18.04 的網路介面代號與 14.04 不同)
修改網路設定檔:/etc/netplan/50-cloud-init.yaml

確認網路介面的 ID

舊版的網路卡 ID 會是「eth0」這樣的表示,不過在 Ubuntu 18.04 代號有變動,記得先使用 ifconfig 確認:

$ ifconfig -a
ens33: flags=4163  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fead:d664  prefixlen 64  scopeid 0x20
        ....

修改網路設定檔

Ubuntu 18.04 使用的 netplan 設定檔位於 /etc/netplan/*.yaml,如果是新安裝好的機器,應該可以看到「50-cloud-init.yaml」這個檔案。

開啟檔案後,可以看到以下格式的設定:

network:
    ethernets:
        ens33:
            addresses: []
            dhcp4: true
    version: 2

YAML 的檔案格式可以參考 netplan.io 的說明。

假設要改成 static IP,則設定檔的大概會改成以下這個樣子:

network:
    ethernets:
        ens33:
            addresses: [192.168.0.10/24]
            gateway4: 192.168.0.1
            nameservers: 
                addresses: [8.8.8.8, 1.1.1.1]
            dhcp4: false
    version: 2

設定檔修改以後不會立即生效,需要呼叫 netplan 讀取並套用新的設定:

$ sudo netplan apply
Tags:Linux, Ubuntu

Kali Linux 2019.1 released

Posted on 2019 年 2 月 19 日2021 年 3 月 12 日 By 日落 在〈Kali Linux 2019.1 released〉中尚無留言

最新版 Kali Linux 2019.1 版釋出:

  • Linux kernel 更新至 4.19.13
  • Metasploit 更新至 v5.0
官方載點:https://www.kali.org/downloads/
Tags:Linux, 資訊安全

文章分頁

上一頁 1 ... 6 7 8 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.