最近想把原本的MySQL資料庫換成MariaDB
維基百科-MariaDB
還好包含PHP,Apache,MySQL的懶人包:XAMPP 在5.5.30版之後也將MySQL換為MariaDB了
到XAMPP官網下載最新版的安裝檔
支援Windows,Mac,Linux三種平台
安裝包裡面還有FileZilla和Perl等東西,可以自行決定要不要安裝
安裝完後開啟XAMPP control panel,然後開啟Apache和MySQL server(雖然已經換成MariaDB,上面仍然是寫MySQL)
再來到瀏覽器進入 127.0.0.1/phpmyadmin 即可使用
寫到這裡發生一個問題:
phpMyAdmin在MariaDB 10.0.21新增使用者時會出現error:
#1065 - Query was empty
使用者不在權限表上
好在已經有人在GitHub上反映這個問題
而且已經得到解決
你可以去下載最新的phpMyAdmin或是照以下的步驟手動解決
打開xampp\phpMyAdmin\libraries 中的server_privileges.lib.php
加入以下綠色的code(4915行開始)
修改完再重開MariaDB Server就可正常執行
if (PMA_MYSQL_INT_VERSION >= 50507
&& PMA_Util::getServerType() == 'MySQL'
&& isset($_REQUEST['authentication_plugin'])
) {
$create_user_stmt .= ' IDENTIFIED WITH '
. $_REQUEST['authentication_plugin'];
}
if (PMA_MYSQL_INT_VERSION >= 50707
&& PMA_Util::getServerType() == 'MySQL'
&& strpos($create_user_stmt, '%') !== false
) {
$create_user_stmt = str_replace(
@@ -4944,7 +4946,9 @@ function PMA_getSqlQueriesForDisplayAndAddUser($username, $hostname, $password)
);
$real_sql_query = $sql_query = $sql_query_stmt;
if (PMA_MYSQL_INT_VERSION < 50707) {
|| PMA_Util::getServerType() != 'MySQL'
)
別忘了phpMyAdmin預設是不用密碼的裸奔狀態
為root加入密碼
刪除那些不需密碼的root
並修改xampp\php\php.ini
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Lang'] = '';