我使用的ejabberd版本為16.09,操作系統(tǒng)是windows10,數(shù)據(jù)庫為mysql5.7.17.
1 創(chuàng)建mysql的用戶
在mysql中創(chuàng)建名為“ejabberd”的用戶,首先登陸mysql,cmd中使用命令“mysql–h localhost –u root -p”登陸mysql。
登陸成功后輸入命令create user'ejabberd'@'localhost' identified by '111111'; 創(chuàng)建一個用戶名為ejabberd,密碼為111111的用戶。(一定要帶分號,密碼可以隨意)
2 創(chuàng)建ejabberd數(shù)據(jù)庫
輸入命令 create database ejabberd; 創(chuàng)建名為ejabberd的數(shù)據(jù)庫。
3 給ejabberd用戶授權
輸入命令 grant all on ejabberd.* toejabberd@localhost identified by '111111';為ejabberd用戶授予ejabberd數(shù)據(jù)庫下所有表的全部權限。
4 使用navicat登錄mysql的ejabberd用戶
這里給出csdn上navicate破解版的下載鏈接
(http://download.csdn.net/download/l631768226/10033027)
5 將ejabberd的數(shù)據(jù)表導入到mysql的ejabberd數(shù)據(jù)庫中
Ejabberd中數(shù)據(jù)表的建表語句在ejabberd安裝目錄下,如圖所示。
使用navicat運行sql文件,創(chuàng)建需要使用的數(shù)據(jù)表。
6 修改ejabberd配置文件
完成上述準備工作后,只需要修改ejabberd的配置文件ejabberd.yml的相關配置就可以將ejabberd的數(shù)據(jù)庫本地化。
修改333行到340行如圖所示,設置MySQL數(shù)據(jù)庫的數(shù)據(jù)庫,用戶名,密碼和端口號等信息。
修改239行如圖所示。這樣修改后ejabberd將通過本地數(shù)據(jù)庫驗證用戶
做了以上設置之后,還是會有一部分數(shù)據(jù)存儲在ejabberd自己的數(shù)據(jù)庫中,可以在文件中添加默認數(shù)據(jù)庫的設置,如圖所示
這個時候重啟ejabberd服務器,如果想要登錄管理頁面是無法登錄的,因為之前的管理員賬號等都是存儲在ejabberd內(nèi)部的數(shù)據(jù)庫中的,我們現(xiàn)在已經(jīng)設置成從本地MySQL數(shù)據(jù)庫中校驗用戶了,所以需要添加一個管理員用戶,首先在MySQL的ejabberd庫中的users表中添加一個用戶數(shù)據(jù)。
這時候只需在users表中插入之前設置的管理員賬號密碼,就可以登錄了。
注釋配置文件471-473行,可以取消離線消息的數(shù)量限制