Category: MySQL / Mariadb

MySQL 轉移到 MariaDB

RHEL 及 CentOS 7 開始的預設資料庫系統由 MySQL 轉為 MariaDB, 而且由於 Oracle 較封閉的政策, 很多 MySQL 開發者都將應用程式轉移到 MariaDB。MariaDB 是原來 MySQL 的創辦人開發的開源資料庫系統, 可以取代現有的 MySQL。以下會以 CentOS 6 為例子介紹如何從原有 MySQL Server 連同資料一拼轉移到 MariaDB 的做法。 MySQL 資料及設定檔備份 …

MySQL 效能監控工具 — Mytop

Mytop 是一個指令模式的 MySQL 監控工具, Mytop 已經內建在 Fedora Repository, Fedora 可以略過以下步驟直接用 yum 安裝。 如果是 RHEL 或者 CentOS, 需要先啟用 RPMForge Repository, 根據不同的發行版安裝相應的 RPM:RHEL, CentOS 7 64-Bits: RHEL, CentOS 6 32-Bits: RHEL, CentOS …

MySQL 新增使用者及建立資料庫權限

MySQL 安裝後只有 root 及 test 帳號, 由於未必可以用 phpMyAdmin 等 GUI 工具, 在指令模式 MySQL 新增使用者及設定權限, 在管理 MySQL 伺服器十分有用, 以下會介紹新增 MySQL 使用者, 及建立資料庫並設定權限。首先在指令模式用 MySQL 的 root 帳號連接到 MySQL:輪入 MySQL root 的密碼後便可以進入 MySQL …

解決 MySQL 連接出現 Too many connections

當連接到 MySQL 時出 Too many connections, 整個錯誤訊息是這樣的:出現 Too many connections 表示連接到 MySQL 的連線數超出了 MySQL 的連線數上限, 預設上限是 100.假設程式方面沒有問題, 這個問題可以通過提高 MySQL 連線數上限 (max_connections 變數) 得以解決, 設定 MySQL 的 max_connections 數值可以通過修改 my.cnf 設定檔, …

RHEL / CentOS / Fedora 編譯安裝 MySQL 5.6

編譯原始碼安裝軟體其中一個好處, 是自由度較高, 可以根據自己的需要修改編譯選項, 但缺點是需時較長, 及日後維護較花時間。以下是在 RHEL, CentOS 及 Fedora 用原始碼編譯及安裝 MySQL 5.6 的方法。首先建立 mysql 帳號及群組: # groupadd mysql # useradd -g mysql mysql 下一步是用 wget 下載 MySQL 5.6 最新版本的原始碼, 現時最新版本是 …

修改 MySQL 密碼

MySQL 提供幾種不同的方法可以修改密碼, 分別是 UPDATE, SET PASSWORD 及 GRANT, 下文會示範如何用這幾種方法修改 MySQL 用戶的密碼。UPDATE:MySQL 的 UPDATE 作用是修改資料, 要修改密碼只要修改 “mysql” 資料庫裡面的 “user” 資料表內, 相關用戶的 “password” 資料就可以, 例如要修改密嗎的 MySQL 用戶是 “phpini”, host 是 “localhost”, 新密碼設定為 …

MySQL SUBSTRING 函式

很多程式語言都有抽取字串部份的函式 (PHP 及 Perl 是 substr), MySQL 也有類似的函式 — SUBSTRING() 及 SUBSTR(), 兩者都用法是一樣的, 因為 SUBSTR() 只是 SUBSTRING() 的別名。它們可以用作抽出一個欄位資料的其中一部份字串。以下是簡單例子:以上會從 “MySQL SUBSTRING testing” 第 1 個字元開始抽取, 所以會輸出:MySQL SUBSTRING testing如果將上面的 1 改成 6, …

MySQL 的 Full-text Search

MySQL 使用 Full-text Search (全文檢索), MySQL 會自動為資料建立索引, 及在資料變更時重新建立索引。以前 Full-text Search 只支援 MyISAM, 並不支援 InnoDB, 由 MySQL 5.6 開始 InnoDB 及 MyISAM 也都支援 Full-text Search 了, 支援的欄位類型有 CHAR, VARCHAR 及 TEXT。MySQL …