Open-Xchange创建Context报错无可用数据库及schema创建问题咨询
Open-Xchange部署问题解答
1. 创建Context报错是否是因为缺少对应的数据库导致?
是。你在OX系统中已注册groupware数据库,但实际MySQL实例中不存在对应物理库,也没有可用于存储context数据的有效schema,OX创建context时找不到可用的存储资源,因此触发该报错。你可以先执行以下命令查看OX侧已注册的数据库列表,确认注册的库名:
/opt/open-xchange/sbin/listdatabases -A oxadminmaster -P pw_for_master
2. 如果是该原因,能否提供groupware数据库的schema?
不需要手动获取groupware数据库的schema。Open-Xchange官方自带的createschemas工具会自动适配当前部署的OX版本,生成对应结构的schema,无需手动导入第三方schema文件。
3. 执行createschemas报错的原因是什么?
你遇到的权限报错大概率是以下原因导致:
- 授权范围不匹配:你给openexchange用户授权时可能只授权了
openexchange@%(任意主机访问),但本地执行命令时OX使用的是openexchange@localhost账户,两类账户的权限和密码是独立的,没有给localhost账户授权会触发访问拒绝。 - 密码不匹配:你在oxinstaller配置的
--configdb-pass参数值,和你实际给openexchange@localhost设置的MySQL密码不一致。 - 未完成数据库注册:你手动创建oxdatabase后没有先将该库注册到OX系统,直接执行createschemas会触发访问异常,需先执行注册命令:
/opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P pw_for_master --name oxdatabase --hostname localhost --master-user openexchange --master-password <openexchange用户的MySQL密码> --max-context 1000
注册完成后再给用户补全权限后重试即可:
grant all on oxdatabase.* to 'openexchange'@'localhost'; flush privileges;
内容的提问来源于stack exchange,提问作者BoLer
相关产品推荐
相关产品推荐

