【问题标题】:mysql error 1142 when installing owncloud安装owncloud时mysql错误1142
【发布时间】:2014-05-22 18:10:40
【问题描述】:

我在一台运行 Arch Linux 的机器上安装 ownCloud,它已经启动并运行了 MariaDB、PHP 和 Apache。 当我尝试启动ownCloud的安装程序时,我收到了这个错误:

Error while trying to create admin user: An exception occurred while executing 'CREATE TABLE `oc_appconfig` (`appid` VARCHAR(32) DEFAULT '' NOT NULL, `configkey` VARCHAR(64) DEFAULT '' NOT NULL, `configvalue` LONGTEXT DEFAULT NULL, INDEX appconfig_config_key_index (`configkey`), PRIMARY KEY(`appid`, `configkey`)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB': SQLSTATE[42000]: Syntax error or access violation: 1142 CREATE command denied to user 'owncloud'@'localhost' for table 'oc_appconfig' 

好像是权限问题。但我不知道为什么会这样:

sql> USE owncloud;
sql> CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'password';
sql> GRANT ALL PRIVILEGES ON owncloud TO 'owncloud'@'localhost' WITH GRANT OPTION;

如果我检查权限,它们似乎就在那里:

sql> SHOW GRANTS FOR 'owncloud'@'localhost';
+-----------------------------------------------------------------------------------------------------------------+
| Grants for owncloud@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'owncloud'@'localhost' IDENTIFIED BY PASSWORD '*****************************************' |
| GRANT ALL PRIVILEGES ON `owncloud`.`owncloud` TO 'owncloud'@'localhost' WITH GRANT OPTION                       |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

我尝试删除用户并重新创建它,但我得到了同样的错误。有什么想法吗?

【问题讨论】:

  • 如果可以尝试授予完全权限,看看它是否有效:GRANT ALL PRIVILEGES ON star-dot-start TO 'owncloud'@'localhost'..你是对的,它必须是权限!
  • 看起来它部分工作了。现在我得到了这个:“尝试创建管理员用户时出错:SQLSTATE [HY000] [1044] 用户'oc_user'@'localhost'拒绝访问数据库'owncloud'”
  • 假设您有权实际创建用户,您可以尝试使用“127.0.0.1”代替(或以及)localhost - 我认为这有点远。而是确认您用于创建新用户的用户具有执行此操作所需的权限。
  • SHOW GRANTS 显示用户确实没有有权在owncloud 数据库中创建表。要授予数据库中所有对象的权限,请使用“on database dot star”ON owncloud.*

标签: mysql owncloud


【解决方案1】:

我建议提供 mysql root 用户凭据。鉴于此,ownCloud 应在设置期间创建自己的具有受限权限的用户。

【讨论】:

    【解决方案2】:

    以下解决方案(在评论中找到)对我有用:

    假设您有权实际创建用户,您可以尝试使用“127.0.0.1”代替(或同时)localhost - 我认为这有点远。而是确认您用于创建新用户的用户具有执行此操作所需的权限。

    @n34_panda 2014 年 5 月 23 日 9:09 (original comment)

    【讨论】:

      猜你喜欢
      • 2012-11-13
      • 2011-12-06
      • 1970-01-01
      • 2019-01-30
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      相关资源
      最近更新 更多