无法在 open-xchange 中设置上下文
Cannot set Context in open-xchange
大家好当我运行:
/opt/open-xchange/sbin/createcontext -A oxadminmaster -P pw_for_master -c 1 -u oxadmin -d "Context Admin" -g Admin -s User -p pw_for_admin -L defaultcontext -e oxadmin@myDomain -q 1024 --access-combination-name=all
出现以下错误:
context 1 could not be created:
Server response:
No suitable database available to complete the operation. Please ensure registered databases are reachable and their schemas have enough capacity left and are up-to-date.; exceptionId 321429037-66
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorage.getNextDBHandleByWeight(OXUtilMySQLStorage.java:4080)
at com.openexchange.admin.plugin.hosting.storage.mysqlStorage.OXContextMySQLStorage.create(OXContextMySQLStorage.java:1648)
at com.openexchange.admin.plugin.hosting.rmi.impl.OXContext.createmaincall(OXContext.java:1240)
at com.openexchange.admin.rmi.impl.OXContextCommonImpl.createcommon(OXContextCommonImpl.java:178)
at com.openexchange.admin.plugin.hosting.rmi.impl.OXContext.create(OXContext.java:462)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport.run(Transport.java:200)
at sun.rmi.transport.Transport.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run[=11=](TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:303)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:279)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:235)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:180)
at com.sun.proxy.$Proxy0.create(Unknown Source)
at com.openexchange.admin.console.context.Create.maincall(Create.java:150)
at com.openexchange.admin.console.context.CreateCore.commonfunctions(CreateCore.java:149)
at com.openexchange.admin.console.context.Create.execute(Create.java:94)
at com.openexchange.admin.console.context.Create.main(Create.java:85)
我做到了运行
/opt/open-xchange/sbin/initconfigdb --configdb-pass=db_password -a --mysql-root-passwd=root_password
/opt/open-xchange/sbin/oxinstaller --no-license --servername=oxserver --configdb-user=openexchange --configdb-writehost=localhost --network-listener-host=localhost --servermemory 2048 --master-pass=pw_for_master --configdb-pass=pw_for_db --network-listener-host=localhost --ajp-bind-port=localhost
并且可以注册:
- 数据库(群件数据库)
- 服务器
- 文件存储;
但我不太确定,我注册为数据库的是什么,因为显示数据库;
我在结果中没有找到我指定的数据库(名称是 oxdatabase)。
+--------------------+
| Database |
+--------------------+
| configdb |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.001 sec)
当我手动创建 oxdatabase 并且 运行
/opt/open-xchange/sbin/createschemas -A oxadminmaster -P pw_for_master -n oxdatabase
但这导致:
java.sql.SQLException: Access denied for user 'openexchange'@'localhost' (using password: YES); exceptionId 321429037-68
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorageCommon.getSimpleSQLConnectionFor(OXUtilMySQLStorageCommon.java:137)
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorageCommon.listDatabases(OXUtilMySQLStorageCommon.java:156)
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorage.createDatabaseSchemas(OXUtilMySQLStorage.java:1389)
at com.openexchange.admin.rmi.impl.OXUtil.createSchemas(OXUtil.java:475)
at sun.reflect.GeneratedMethodAccessor289.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport.run(Transport.java:200)
at sun.rmi.transport.Transport.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run[=16=](TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:303)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:279)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:235)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:180)
at com.sun.proxy.$Proxy0.createSchemas(Unknown Source)
at com.openexchange.admin.console.util.database.CreateSchemas.run(CreateSchemas.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:748)
我检查了设置:PW没问题;用户没问题; g运行ts 应该没问题 (i g运行ted star.star);
磁盘上还剩下大约 90 GB;只有一个分区。
OS:Debian 10
我 运行 作为 root
所以我的问题是:
- 我的错误是因为我的(丢失的)数据库吗?
- 如果是,有人可以向我提供组件数据库的架构吗?
- 以及为什么会出现createschemas的错误?
我可以解决它。
第一步 - 可能是可选的
重新安装 Buster
其次将主机名更改为服务器名称 -> 例如 oxserver
大家好当我运行:
/opt/open-xchange/sbin/createcontext -A oxadminmaster -P pw_for_master -c 1 -u oxadmin -d "Context Admin" -g Admin -s User -p pw_for_admin -L defaultcontext -e oxadmin@myDomain -q 1024 --access-combination-name=all
出现以下错误:
context 1 could not be created:
Server response:
No suitable database available to complete the operation. Please ensure registered databases are reachable and their schemas have enough capacity left and are up-to-date.; exceptionId 321429037-66
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorage.getNextDBHandleByWeight(OXUtilMySQLStorage.java:4080)
at com.openexchange.admin.plugin.hosting.storage.mysqlStorage.OXContextMySQLStorage.create(OXContextMySQLStorage.java:1648)
at com.openexchange.admin.plugin.hosting.rmi.impl.OXContext.createmaincall(OXContext.java:1240)
at com.openexchange.admin.rmi.impl.OXContextCommonImpl.createcommon(OXContextCommonImpl.java:178)
at com.openexchange.admin.plugin.hosting.rmi.impl.OXContext.create(OXContext.java:462)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport.run(Transport.java:200)
at sun.rmi.transport.Transport.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run[=11=](TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:303)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:279)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:235)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:180)
at com.sun.proxy.$Proxy0.create(Unknown Source)
at com.openexchange.admin.console.context.Create.maincall(Create.java:150)
at com.openexchange.admin.console.context.CreateCore.commonfunctions(CreateCore.java:149)
at com.openexchange.admin.console.context.Create.execute(Create.java:94)
at com.openexchange.admin.console.context.Create.main(Create.java:85)
我做到了运行
/opt/open-xchange/sbin/initconfigdb --configdb-pass=db_password -a --mysql-root-passwd=root_password
/opt/open-xchange/sbin/oxinstaller --no-license --servername=oxserver --configdb-user=openexchange --configdb-writehost=localhost --network-listener-host=localhost --servermemory 2048 --master-pass=pw_for_master --configdb-pass=pw_for_db --network-listener-host=localhost --ajp-bind-port=localhost
并且可以注册:
- 数据库(群件数据库)
- 服务器
- 文件存储;
但我不太确定,我注册为数据库的是什么,因为显示数据库; 我在结果中没有找到我指定的数据库(名称是 oxdatabase)。
+--------------------+
| Database |
+--------------------+
| configdb |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.001 sec)
当我手动创建 oxdatabase 并且 运行
/opt/open-xchange/sbin/createschemas -A oxadminmaster -P pw_for_master -n oxdatabase
但这导致:
java.sql.SQLException: Access denied for user 'openexchange'@'localhost' (using password: YES); exceptionId 321429037-68
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorageCommon.getSimpleSQLConnectionFor(OXUtilMySQLStorageCommon.java:137)
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorageCommon.listDatabases(OXUtilMySQLStorageCommon.java:156)
at com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorage.createDatabaseSchemas(OXUtilMySQLStorage.java:1389)
at com.openexchange.admin.rmi.impl.OXUtil.createSchemas(OXUtil.java:475)
at sun.reflect.GeneratedMethodAccessor289.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport.run(Transport.java:200)
at sun.rmi.transport.Transport.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run[=16=](TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:303)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:279)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:235)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:180)
at com.sun.proxy.$Proxy0.createSchemas(Unknown Source)
at com.openexchange.admin.console.util.database.CreateSchemas.run(CreateSchemas.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:748)
我检查了设置:PW没问题;用户没问题; g运行ts 应该没问题 (i g运行ted star.star); 磁盘上还剩下大约 90 GB;只有一个分区。 OS:Debian 10 我 运行 作为 root
所以我的问题是:
- 我的错误是因为我的(丢失的)数据库吗?
- 如果是,有人可以向我提供组件数据库的架构吗?
- 以及为什么会出现createschemas的错误?
我可以解决它。
第一步 - 可能是可选的
重新安装 Buster
其次将主机名更改为服务器名称 -> 例如 oxserver