由於 SupeSite 需要調用 Discuz! 和 UCHome 的數據,所以如果它們不安裝在同一個數據庫,SupeSite 的數據庫用戶必須要對 Discuz! 和 UCHome 的數據庫有讀取、修改、刪除等權限。這就需要在 MySQL 中對用戶權限進行修改,授予需要的權限。
本文將演示這種情況,並給出詳細的解決步驟。
本文示例的配置如下:
Discuz!
數據庫名:discuz_7_sc_utf8
數據庫用戶名:discuz_mysql
權限:操作 discuz_7_sc_utf8 的全部權限
SupeSite/X-space
數據庫名:ss_601_xs_401_sc_utf8
數據庫用戶名:ss_mysql
權限:操作 ss_mysql 的全部權限
出現情況:安裝 SupeSite/X-space 時無法檢測到 Discuz! 的數據庫。
解決方法:授予 ss_mysql 操作 discuz_7_sc_utf8 的全部權限。
如果為了方便,可以創建一個數據庫用戶,授予該用戶操作 Discuz! 和 SupeSite 數據庫的全部權限,在安裝時,都使用這個數據庫用戶,就不會出現本文的這種情況。以後安裝別的產品,比如 UCenter Home,再授予該用戶操作 UCenter Home 數據庫的權限即可。
一、安裝 Discuz_7.0.0_SC_UTF8
1、在 MySQL 中創建數據庫 discuz_7_sc_utf8
打開 phpMyAdmin => 創建一個新的數據庫
2、在 MySQL 中創建數據庫用戶 discuz_mysql,授予操作數據庫 discuz_7_sc_utf8 的權限
打開 phpMyAdmin => 權限 => 添加新用戶
為了安全,不授予 discuz_mysql 這個用戶訪問其他數據庫的權利,所以全局權限不選。設計完畢,點擊“執行”。
跳轉到“編輯權限”的頁面,“按數據庫指定權限”選擇“discuz_7_sc_utf8”
在這裡,授予數據庫用戶 discuz_mysql 操作數據庫 discuz_7_sc_utf8 的全部權限,如圖所示。
3、Discuz_7.0.0_SC_UTF8 的安裝設置
在 Discuz! 安裝時,輸入剛才創建的數據庫名、用戶名和密碼。
二、安裝 SupeSite6.0.1_X-Space4.0.1_UC_SC_UTF8
1、在 MySQL 中創建數據庫 ss_601_xs_401_sc_utf8
2、在 MySQL 中創建數據庫用戶 ss_mysql,授予操作數據庫 ss_601_xs_401_sc_utf8 的權限
3、SupeSite6.0.1_X-Space4.0.1_UC_SC_UTF8 的安裝設置
安裝 SuperSite 時,輸入剛才創建的數據庫名:ss_601_xs_401_sc_utf8,數據庫用戶名:ss_mysql,以及已安裝的論壇 Discuz 的數據庫名 discuz_7_sc_utf8,如圖所示。
因為剛才只是授予數據庫用戶 ss_mysql 操作數據庫 ss_601_xs_401_sc_utf8 的權限,所以數據庫用戶 ss_mysql 並沒有操作數據庫 discuz_7_sc_utf8 的權限,這安裝時出現錯誤,提示“發生錯誤,您指定的 Discuz!數據庫(discuz_7_sc_utf8)不存在,請修正”。
4、授予用戶 ss_mysql 操作數據庫 discuz_7_sc_utf8 的權限,安裝成功
出現這種情況,就需要授予 ss_mysql 操作數據庫 discuz_7_sc_utf8 的權限。打開 phpMyAdmin => 權限 => 編輯權限,如圖所示。
SupeSite 需要 讀取、插入、刪除數據庫 discuz_7_sc_utf8 中的數據,所以授予用戶 ss_mysql 操作數據庫 discuz_7_sc_utf8 的全部權限。
授予權限之後,通過安裝程序的檢測,可以繼續安裝了。
需要注意的是,如果希望 SupeSite 和 Discuz!同步登錄,SupeSite 的 Cookie 設置要和 Discuz! 目錄下 config.inc.php 文件中的值相同,如圖所示。
現在安裝完畢,SupeSite 和 X-space 能夠正常顯示論壇中的內容。