ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
若沒特別設定,MySQL 預設的 sql_mode 就是上面的值
若本來 sql_mode 是空的,要啟用預設值,有幾點要注意:
1. 當 INSERT/UPDATE 時,值不能超出欄位長度,不然會報錯 (STRICT_TRANS_TABLES)
2. 當 INSERT 時,若沒有指定到的欄位,沒有預設值,會報錯 (STRICT_TRANS_TABLES)
3. 當 INSERT/UPDATE 字串到數字類欄位,會報錯 (STRICT_TRANS_TABLES)
4. 以前能用的 GROUP BY 語法,啟用後可能無法使用 (ONLY_FULL_GROUP_BY)
5. 不能使用 0000-00-00 及 0000-00-00 00:00:00 這種日期時間 (NO_ZERO_IN_DATE,NO_ZERO_DATE)
2025年3月4日 星期二
2024年11月6日 星期三
MySQL 8.4 LTS
許久沒有留意 MySQL 的版本發展,8.4 都已經出一段時間了(2024-04),
這是繼 8.0 LTS 後下一個 LTS 版本
寫這篇文章時,已經出到 8.4.3
Overview of changes in MySQL 8.4.0
感覺異動不大,
mysql_native_password 預設關閉,
因應時代變化,一些預設參數有調整,
replication 的指令有異動
Download MySQL Yum Repository
裝這個 8.4 的 repo 檔,然後 yum -y update 就升完了
拿一台 8.0 的機器直接升級,並沒有遇到什麼問題,算是無痛升級
這是繼 8.0 LTS 後下一個 LTS 版本
寫這篇文章時,已經出到 8.4.3
Overview of changes in MySQL 8.4.0
感覺異動不大,
mysql_native_password 預設關閉,
因應時代變化,一些預設參數有調整,
replication 的指令有異動
Download MySQL Yum Repository
裝這個 8.4 的 repo 檔,然後 yum -y update 就升完了
拿一台 8.0 的機器直接升級,並沒有遇到什麼問題,算是無痛升級
2022年1月19日 星期三
MySQL RPM PGP Key 2022
MySQL 官方 RPM GPG Key 在 2022 年變了,若升級套件會看到類似這樣的訊息
The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
把新的 GPG Key 匯入即可
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
2021年5月19日 星期三
Install MySQL 5 on CentOS 8 / RHEL 8
CentOS 8 / RHEL 8 預設 MySQL 版本是 8
若要裝 MySQL 5,需將 8 的設定移除,再裝 5 的 repo
dnf remove @mysql
dnf module reset mysql
dnf module disable mysql
rpm -ivh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
dnf -y install mysql-community-client mysql-community-common mysql-community-devel mysql-community-libs mysql-community-server
systemctl enable --now mysqld
若要裝 MySQL 5,需將 8 的設定移除,再裝 5 的 repo
dnf remove @mysql
dnf module reset mysql
dnf module disable mysql
rpm -ivh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
dnf -y install mysql-community-client mysql-community-common mysql-community-devel mysql-community-libs mysql-community-server
systemctl enable --now mysqld
2021年5月12日 星期三
SQL injection
SQL injection 是個老東西,但 20 幾年過去,它依然健在!
在所有 Web 攻擊,弱點佔比仍然是最高的
NEITHNET 精選講座-資安教室:SQL injection - CYBERSEC 2021 臺灣資安大會
NEITHNET_SQL_injection.pptx 這份簡報是 2021 臺灣資安大會在公司攤位分享的資料
還架了一個 Demo Site https://sqlinjection.cf
Demo Site 預計下架時間 2021-05-31,有興趣的可以玩玩看
在所有 Web 攻擊,弱點佔比仍然是最高的
NEITHNET 精選講座-資安教室:SQL injection - CYBERSEC 2021 臺灣資安大會
NEITHNET_SQL_injection.pptx 這份簡報是 2021 臺灣資安大會在公司攤位分享的資料
還架了一個 Demo Site https://sqlinjection.cf
Demo Site 預計下架時間 2021-05-31,有興趣的可以玩玩看
2021年5月7日 星期五
mysql_config_editor version < 5.7.33 does not escape strings
mysql_config_editor 在版本小於 5.7.33 有一個 Bug,當 Password 有包含像 # % 特殊符號時,因為沒有 escape 而無法正確的設定,
Workaround 是在輸入密碼時用雙引號括起來
這個問題已在 5.7.33 修正
Workaround 是在輸入密碼時用雙引號括起來
這個問題已在 5.7.33 修正
ref. Bug #74691 mysql_config_editor does not escape strings
訂閱:
文章 (Atom)
Windows 10 ESU extended to 2027-10-12
微軟延長了 Windows 10 ESU 支援時間至 2027-10-12 (又加一年) 可以使用 ConsumerESU 腳本快速啟用 ESU 下載 ZIP 包解開後,以系統管理員身分執行 Consumer_ESU_Enrollment_run.cmd
-
禁止 LINE 電腦版自動或強制更新的方法 LINE 電腦版啟動都會去連這個更新資訊檔 https://desktop.line-scdn.net/win/v1/real/update_info.json 內容大概長這樣 可以看出針對各版本的更新 type 有 force, ...
-
xrdp 是 Linux 版的 RDP server (遠端桌面) 它運作時需要 Xvnc 的 libvnc.so, 所以安裝時需要連同 VNC 一起安裝(只需 minimal) dnf -y install xrdp tigervnc-server-minimal system...
-
HiNet MOD 機上盒(註1),在實體電源關機(註2)後兩分鐘, 會造成 RouterBoard 的 PPPoE 斷線重連,有夠怪的問題 這個問題追了好久,終於找到兩者竟然有關聯 經過多次驗證,確認了這個關聯性,就在機上盒關機後的兩分鐘(正負5秒), RouterBoard ...
-
RustDesk 使用上跟 Anydesk, Teamviewer 差不多,也是用 ID + Password 就可以連線 其優點是開源,可以自架 ID/Relay Server 在 Client 裝好的情況下,直接是可以使用的,預設應該是使用 RustDesk 的公共 Ser...
-
以前都是用 rp-pppoe 套件裡的 adsl-setup 來設定 PPPoE 現在比較新的 Linux 已經沒有這個套件了,要用 NetworkManager 的 nmcli 來設定 設定也很簡單,準備帳號、密碼及網路卡就行了 以下範例帳號是 xxxx@hinet.net 密...
-
本例是從 8.0U3 升到 8.0U3d,若從更舊的版本升級,不確定是否適用 先把所有 VM 關機,進入維護模式 把 depot 升級檔 VMware-ESXi-8.0U3d-24585383-depot.zip 放到機器內 ssh ESXi 先查看 depot 有那些 Prof...
-
RouterOS 在 7 版以後支援 WireGuard 註: WireGuard 在 Linux Kernel 5.6 版開始內建 設定滿簡單的,在選單 WireGuard New Interface,Private Key 及 Public Key 不用填,會自動產生 在 I...
-
現在自架的 Mail Server 若沒有簽章,寄出的信件有很大的機會被擋或歸類在垃圾信 所以 SPF + DKIM 已經是必要的設定 環境 CentOS + Postfix,文中的域名均以 yourdomain.com 作為範例 安裝所需套件 yum -y install py...
-
Bracketed Paste Mode 是 Terminal 為了區分手動輸入及剪貼簿貼上的一種模式, 啟用此模式,貼上的文字區塊會被起始控制碼 ESC [ 200 ~ 及結束控制碼 ESC [ 201 ~ 包住 例如在編輯器貼上一段已經排版好的程式碼,若沒有啟用 Brack...
-
需先安裝 XZ Utils for Windows 把 xz.exe 放在 PATH 有指到的地方 curl -LOs https://github.com/rocky-linux/sig-cloud-instance-images/raw/Rocky-9.2.20230513...