Category: MySQL / Mariadb

MySQL 5.1 升級到 MariaDB 5.5

CentOS 6 預設的資料庫系統是 MySQL 5.1, 當伺服器升級到 CentOS 7 後, 預設的資料庫系統改為 MariaDB 5.5, 即等同 MySQL 5.5.由於資料庫的數量較多, 而且體積也很大, 所以不會用 mysqldump 轉移, 而且將整個資料庫目錄搬到新伺服器, 再用 mysql_upgrade 工具實現, 以下是由 MySQL 5.1 升級到 MariaDB 5.5 的方法。在舊伺服器先備份 …

phpMyAdmin 錯誤: Login without a password is forbidden by configuration (see AllowNoPassword)

有時一些開發環境的 MySQL 或 MariaDB 伺服器沒有設定 root 密碼, 如果在沒有設定 MySQL root 密碼的伺服器上安裝 phpMyAdmin, 存取 phpMyAdmin 頁面時會出現以下錯誤:Login without a password is forbidden by configuration (see AllowNoPassword)出現這個錯誤的原因, 是 phpMyAdmin 預設不允許使用空密碼, 解決方法有兩種, 第一種方法是設定 MySQL …

用連結檔改變 MySQL / MariaDB 資料庫目錄

本站另一篇文章 修改 MySQL / MariaDB 資料庫儲存目錄 介紹了修改 MySQL 的資料庫目錄, 方法是透過修改 my.cnf 檔案裡面的 “datadir” 參數達成。如果不想修改 my.cnf 檔案, 可以透過建立 Symlink (連結檔) 的方法實現, 以下是設定步驟, 適用於 MySQL 及 MariaDB。首先停止執行 MySQL / MariaDB: $ sudo …

MySQL 錯誤: Another MySQL daemon already running with the same unix socket

如果 MySQL 沒有正常關閉,例如強制關機或斷電等,重新啟動時可能會出現以下錯誤:Another MySQL daemon already running with the same unix socket要解決這個問題,只要將 MySQL 的 mysql.sock 刪除或重新命名即可。mysql.sock 檔案預設會在 MySQL 資料目錄下,如果不在那裡,可以查看 my.cnf,可能將 mysql.sock 設定到其他位置。以 Redhat 及 CentOS 為例,預設在 /var/lib/mysql/mysql.sock,解決方法如下: # mv /var/lib/mysql/mysql.sock …

取回 MySQL 5.7 預設 Root 密碼

以前 MySQL 安裝後預設 root 密碼是空白, 為了增加安全性, 由 MySQL 5.7 開始, MySQL 在安裝時會自動建立一個 root 密碼, 需要修改才可以正常使用。 要找回這個 MySQL 建立的 root 密碼, 可以開啟 MySQL 的 error log, 在 Redhat 及 CentOS 取回密碼的方法: …

指令模式直接執行 MySQL 指令

Linux 的系統管理員, 有時需要在 CLI 執行單一 MySQL 指令, 要實現很容易, 只要用 mysql 的客戶端即可, 以下會以 MySQL Server 的環境作為使用例子, 但在 MariaDB 同樣適用。只要用 CLI 的 mysql 指令 (mysql client) 加上 -e 參數, 就可以直接加入需要執行的指令, 如果 MySQL …

MySQL 開啟遠端連線

在 MySQL 建立用戶後, 如果在從遠端連接到 MySQL Server, 可能會出現以下錯誤 (‘xxx.xxx.xxx.xxx’ 是客戶端電腦的 IP):ERROR 1130 (HY000): Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server這個情況如果在本機可以連接, 只有遠端不能連接, 原因是 MySQL 預設不允許從遠端連接。要解決這個問題, 只要修改設定 MySQL 帳號的權限即可, …

MySQL 內建壓力測試工具 – mysqlslap

mysqlslap 是 MySQL 內建的壓力測試工具, 可以模擬大量 MySQL 連線存取資料庫的情況, 這樣對於優化 MySQL 伺服器十分有用。mysqlslap 是直接在指令模式下執行, 以下是 mysqlslap 的使用參數:–user: 連接到 MySQL 的帳號. –password: 連接到 MySQL 的密碼. –host: MySQL 伺服器的主機名. –port: MySQL 伺服器的埠號, 如果沒有提供會使用 MySQL 預設埠號. …

Cacti 監測 MySQL 伺服器

Cacti 是一套開源的網路監測工具, 並以網頁介面管理。Cacti 也是以 PHP 開發, 讀取 RRDTool 的資料後, 可以顯示像 CPU 及網路使用等資料。如果想用 Cacti 監測 MySQL Server, 可以使用 Percona 的 Cacti Plugin, 以下是在 RHEL 及 CentOS 7 安裝 Cacti 監測 MySQl …

開啟 slow query log, 儲存執行慢的 MySQL 語句

有時發覺程式執行很慢, 其中一個要檢查的地方是資料庫。MySQL 可以將執行過的 SQL 語句全部紀錄下來, 或者可以只是將執行慢的 SQL 語句紀錄下來, 這樣對於 MySQL 語句的 Debug 就輕鬆很多了。要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:/etc/my.cnf /etc/mysql/my.cnf先開啟 my.cnf, 在 段落加入以下幾行:以上幾行的意思分別是:slow_query_log = 1 開啟紀錄執行慢的 SQL 語句:slow_query_log_file …