MySQL/Mariadb 如何設定 innodb_buffer_pool_size 增加效能

影響資料庫(MySQL/MariaDB)效能的因素很多,例如資料表的設計、索引、硬體規格、查詢語法、參數設定等都相當關鍵。而在參數優化部分,其中一個很重要的參數是「innodb_buffer_pool_size」,它配置了緩衝區的記憶體大小,所以將直接影響讀寫的效率,網路上有蠻多文章在探討這一塊的優化,在此就不多贅述,將直接教導各位如何在不同的情況下查詢以及設定此參數。

示範版本:Ubuntu 20.04 Server 英文版、MariaDB 10.3.32

Read more

Redmine 設定資料庫編碼為 UTF8MB4 以支援表情符號

各位在使用Redmine時,如果資料庫編碼正確的話,相信中文字是可以正常顯示的,不過會遇到另一個問題是一些特殊符號或表情符號無法支援,只要一輸入就可能會造成破圖或者出現Internal Error (如下圖),錯誤的原因很簡單,十之八九是資料庫的編碼不對而已,原本的編碼有可能是utf8、latin1,但這些編碼無法滿足某些特別的字符,因此,想要支援表情符號的話只要把編碼改成更強大的 utf8mb4 字符編碼就行囉,簡單的來說,utf8mb4是utf8的Superset,能支持更多的字符。
註:如果有遇到中文亂碼的問題,以下的教學也可以適用。

Redmine輸入表情符號錯誤

Read more

[Ubuntu] Redmine 免費專案管理工具安裝教學

Redmine 是一款免費的開源專案管理工具,是基於Ruby on Rails的架構來開發,功能除了多專案管理外,還包含臭蟲追蹤、甘特圖、工時計算、日曆、信件通知等,但說實話,它的安裝實在很不人性化,相信很多人在安裝過程一定會遇到很多的困難,所以接下來打算撰寫一系列的文章,希望內容可以涵蓋一些基本教學,例如:安裝、資料庫編碼、如何安裝Theme與Plugin等等,以便給沒使用過的新手一些參考,本文是首部曲,當然就是以安裝Redmine為主題囉,Let’s Go.

網址:Redmine官網

示範平台:Ubuntu 20.04.2 Server 英文版 64位元

Read more

跟上全球「自學程式」風潮,培養軟體開發技能,身價立馬翻倍!

程式設計近幾年來是國際間的發燒議題,也成為成長快速與搶手的職業之一,也同時帶動自學程式的風潮。在台灣,107年的課綱已把程式設計列為義務教育,打算從小培養孩童的科技意識跟國際競爭力,歐美各國也是同樣看重這個軟體應用的趨勢,因為正如Netscape瀏覽器共同創辦人、知名創投馬克・安德森(Marc Andreessen)所述:「軟體正在吃掉整個世界(The Software is eating the world)。」

我們小時候買CD聽音樂、租DVD看電影、拿數位相機旅行拍照、遞紙本求職信找工作,現在所有的功能光一支手機就能辦到,而背後最大的工程非軟體應用程式莫屬,使得技術能力在業界的需求不容小覷,國際最大求職社群平台Linkedin公布一項「2020 年企業最需要的技術技能」排名,硬實力雲端計算、人工智慧、分析推理皆名列前茅。

Read more

MariaDB/MySQL – 如何在查詢資料時區分大小寫

最近在使用資料庫的時候,發現一個之前一直被我忽略的問題:「查詢欄位值時,如何 區分大小寫 的資料?」。在以往,印象中都只是直接查詢資料庫而已,並沒有特別在意這一點,現在想想,MySQL預設的字串搜尋結果似乎都是不分大小寫的,一般這種情況不會有什麼問題,但遇到網頁呈現有要求要區分大小時,那麼預設的搜尋結果就不符合需求了。

MySQL資料庫查詢區分大小寫

Read more

[教學] MariaDB/MySQL備份 – 如何匯出、匯入資料庫或表格

繼上次談了資料庫中文亂碼的問題後,本文將繼續說明使用資料庫一定會遇到的問題: MariaDB/MySQL備份 ,相信大家一定會因為某些需求而需要備份資料庫,所以如何將資料庫的表格或整份資料庫匯出、匯入絕對是一個值得學習的課題,在本文中,除了介紹一些基本的相關語法外,也會試著從不同的角度來測試這些指令的操作結果,進而更了解這些指令所造成的影響。

MariaDB/MySQL備份

如果你想要有一個完整的且免費的資料庫範例可以進行練習,那麼可以試試Mariadb官方提供的「Example Databases」,這裡面有提供幾個資料量豐富的資料庫,都是蠻好的練習對象,檔案下載並解壓後其副檔名是「.sql」,配合以下要介紹的匯入功能,把範例資料庫匯入就可以使用了

Read more

[Mariadb] 如何解決資料庫中文亂碼(問號)的編碼問題


在使用資料庫的時候,常常會遇到中文亂碼的問題,自己花了點時間找了一些相關資料測試,結果發現大家提供的方法其實算是大同小異,因此,這邊整理了我比較常用的解決方式供大家參考,或許下次有遇到類似的問題時就可以很快的解決。(本文適用於MySQL、Mariadb等資料庫)

Read more

[教學] MariaDB/MySQL 常用指令操作與語法範例

MariaDB」相對於MySQL來說,大家應該比較陌生,但其實二者可以說是系出同門,簡單的來說,MariaDB是MySQL的一個分支,完全免費,有興趣了解他們的恩怨情仇(誤)的讀者可以直接前往WiKi查看,在此就不多贅言。本文的重點是在記錄一些自己在學習的過程中所常用的一些指令,除了當自己的備忘錄外,也順便提供給初學者一個比較快速的入門參考

Read more

[MySQL/PostgreSQL] 如何利用DISTINCT/GROUP BY 解決重複資料,並傳回所有欄位

在資料庫篩選資料時候,常常會遇到重複資料的問題,因此,我們會使用「DISTINCT」及「GROUP BY」這二個SQL語法來過濾重複資料,但若只針對某一個欄位來篩選,那比較簡單一點,若是要符合不重複資料,而且又要回傳所有的欄位時,對於初學者來說就有一點難度,而且這二個語法的操作並不是所有的資料庫都是一樣的,例如在MySQL和PostgreSQL中這些指令的用法就會有一點不同,怎麼說呢?讓我們用實例來做說明吧。

示範表格:表格名稱為「DemoTable

Read more

SQL Fiddle § 線上練習SQL語法的測試網站,支援MySQL、PostgreSQL、SQLite

在學習SQL語法的時候,最直接的方式當然是架一個資料庫(例如MySQL),然後直接進行測試,不過有時候只是突然想測試一下語法的操作是否正確,若只為了這樣的需求就去裝一個資料庫,這樣實在是太費功夫了,如果可以在線上測試SQL語法的話,那麼是不是很方便呢?基於這樣子的想法,上網去查詢了一下,找到了今天要介紹的主角「SQL Fiddle」,它可以讓用戶直接在上面建立資料,然後進行SQL語法的操作、測試,支援的資料庫方便也不少,常見的MySQL、PostgreSQL、SQLite、Oracle都支援。

網址:SQL Fiddle 官網

Read more