ejabberd数据库本地化

我使用的ejabberd版本为16.09,操作系统是windows10,数据库为mysql5.7.17.


1 创建mysql的用户

       在mysql中创建名为“ejabberd”的用户,首先登陆mysql,cmd中使用命令“mysql–h localhost –u root -p”登陆mysql。

ejabberd数据库本地化_第1张图片


登陆成功后输入命令create user'ejabberd'@'localhost' identified by '111111'; 创建一个用户名为ejabberd,密码为111111的用户。(一定要带分号,密码可以随意)



2 创建ejabberd数据库

输入命令 create database ejabberd; 创建名为ejabberd的数据库。



3 给ejabberd用户授权

输入命令 grant all on ejabberd.* toejabberd@localhost identified by '111111';为ejabberd用户授予ejabberd数据库下所有表的全部权限。

ejabberd数据库本地化_第2张图片


4 使用navicat登录mysql的ejabberd用户

Navicate破解版下载

ejabberd数据库本地化_第3张图片


5 将ejabberd的数据表导入到mysql的ejabberd数据库中

Ejabberd中数据表的建表语句在ejabberd安装目录下,如图所示。

ejabberd数据库本地化_第4张图片


使用navicat运行sql文件,创建需要使用的数据表。

ejabberd数据库本地化_第5张图片


ejabberd数据库本地化_第6张图片


6 修改ejabberd配置文件

       完成上述准备工作后,只需要修改ejabberd的配置文件ejabberd.yml的相关配置就可以将ejabberd的数据库本地化。

       修改333行到340行如图所示,设置MySQL数据库的数据库,用户名,密码和端口号等信息。

ejabberd数据库本地化_第7张图片


修改239行如图所示。这样修改后ejabberd将通过本地数据库验证用户


做了以上设置之后,还是会有一部分数据存储在ejabberd自己的数据库中,可以在文件中添加默认数据库的设置,如图所示



这个时候重启ejabberd服务器,如果想要登录管理页面是无法登录的,因为之前的管理员账号等都是存储在ejabberd内部的数据库中的,我们现在已经设置成从本地MySQL数据库中校验用户了,所以需要添加一个管理员用户,首先在MySQL的ejabberd库中的users表中添加一个用户数据。


这时候只需在users表中插入之前设置的管理员账号密码,就可以登录了。

      

注释配置文件471-473行,可以取消离线消息的数量限制

ejabberd数据库本地化_第8张图片


你可能感兴趣的:(ejabberd,mysql,ejabberd,mysql数据库,数据本地化)