Category: MySQL

RHEL / CentOS 7 升級 MariaDB 到 10.5

RHEL 及 CentOS 7 預設的 MariaDB 版本是仍然停留在 5.5。MariaDB 10 是以 MySQL 5.5 為基礎, 加上移植自 MySQL 5.6 的功能和自行開發的新功能。 以下是在 CentOS 7 升級到 MariaDB 10.5, 以及將舊有資料轉移的步驟: 首先確認目前安裝的 MariaDB 版本, 如果是透過預設的 YUM …

CentOS 8 安裝 MySQL 8.0

MySQL 8.0 提供多個新功能, CentOS 8 預設的 repositories 已經內建了 MySQL 8.0, 以下文章會示範在 CentOS 8 安裝 MySQL 8.0. 安裝 MySQL 8.0 CentOS 8 已經開始使用 dnf, 用 dnf 安裝 mysql: $ sudo …

MySQL 檢視及修改 AUTO_INCREMENT 的值

MySQL 的 Primary Key 很多時會使用 AUTO_INCREMENT, 對 AUTO_INCREMENT 的欄位插入 NULL 或者空白的值時, MySQL 會自動產生一個序列編號, 序列編號從 1 開始, 每次加 1. 要在 MySQL 檢查最新一筆的 AUTO_INCREMENT, 可以使用 SELECT MAX() 完成, 例如: 要找出下一筆 AUTO_INCREMENT …

移除 MySQL / MariaDB 帳號及權限

以下是 MySQL 及 MariaDB 在指令模式下刪除帳號及權限的方法。 先用 root 登入 MySQL: /linux/mysql $ mysql -u root -p 登入後會看到 “mysql” 或 “MariaDB” 的提示符, 可以先用以下 SQL 語句檢視所有 MySQL 帳號: /linux/mysql/select-user mysql> SELECT User,Host …

解決 MySQL 錯誤 – ERROR 1819 (HY000)

MySQL 5.7 為了增加系統安全性, 加入了 validate_password plugin, 可以自定 MySQL 使用者帳號密碼的強度, 當建立 MySQL 帳號或者修改密碼時, 密碼強度不符合要求, 會出現以下錯誤: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements. 解決方法是設定一組比較複雜的密碼, 以符合 MySQL …

MySQL / MariaDB 重新命名資料庫

以前 MySQL 的 “RENAME DATABASE” 指令, 已經在 5.1.23 後的版本刪除, 原因是重新命名資料庫時存在資料遺失的風險。 以下示範用 “RENAME TABLE” 指令及 mysqldump 指令, 替資料庫重新命名的方法: RENAME TABLE 這個方法適合資料庫比較大的情況, 但缺點是需要對每個資料表逐一執行。 先建立一個空白的資料庫, 名稱用要變更的資料庫名稱, 以下假設舊資料庫是 oldname; 新資料庫是 newname: 然後把資料表逐一用 RENAME …

MySQL / MariaDB 轉移到新主機

以下文章會介紹將 MySQL / MariaDB 轉移到新主機的方法, 在轉移前最好確定兩台主機安裝的 MySQL / MariaDB 版本相同, 這樣出問題的機會會較少。 要完整轉移 MySQL 伺服器, 包括所有 MySQL 資料庫、使用者帳號及權限到新主機, 只需將 MySQL 的資料目錄及 my.cnf 複製到新主機, 並設定權限即可, 複製資料到新主機可以用 Rsync 完成, 可以參考以下文章: rsync 透過 …