我能够获得phabricator的URL . 当我从phabricator目录运行以下脚本时,我收到下面复制的错误 . 我还复制了custom / myconfig.conf.php文件中的mysql配置信息(凭证工作 - 我可以使用mysql -u root -p通过终端登录) . 一旦我可以测试设置,我会将凭据更改为非root .
myconfig.conf.php
// DatabaseConfigurationProvider.
'mysql.configuration-provider' => 'DefaultDatabaseConfigurationProvider',
// The username to use when connecting to MySQL.
'mysql.user' => 'root',
// The password to use when connecting to MySQL.
'mysql.pass' => 'xxxxxxxxx',
// The MySQL server to connect to.
'mysql.host' => '127.0.0.1', ///'localhost',
// If you want to connect to a different port than the default (which is 3306)
'mysql.port' => null,
Error after running ./bin/storage upgrade
Unable To Connect: Attempt to connect to root@localhost failed with error #1045: Access denied for user 'root'@'localhost' (using password: NO).
MySQL正在监听127.0.0.1:3306 . 我也尝试了以下内容(也传递了root ID)但它不起作用:./ bin / storage upgrade --user --password
Update: 当我使用一组新凭据运行./bin/storage upgrade命令时,出现以下错误:
[2014-05-07 16:15:16] EXCEPTION: (RuntimeException) Undefined property:
DefaultDatabaseConfigurationProvider::$getPassword at
[/usr/local/phabricator/libphutil/src/error/PhutilErrorHandler.php:216]
#0 PhutilErrorHandler::handleError(8, Undefined property:
DefaultDatabaseConfigurationProvider::$getPassword,
/usr/local/phabricator/phabricator/scripts/sql/manage_storage.php, 75,
Array of size 16 starting with: { _GET => Array }) called at
[/usr/local/phabricator/phabricator/scripts/sql/manage_storage.php:75]
如果我在存储升级命令中传入用户名/密码但未从conf文件中正确获取,则存储现在可以使用新的数据库凭据 . 我将检查conf并相应地更新它 .
4 回答
在某些情况下,这还不够:./ bin / storage upgrade想要创建新数据库,但phabricatos用户没有创建数据库的权限 . 因此,我建议使用此mysql代码授予所有权限phabricator用户所有phabricator_ *用于数据库(现有和将来创建)
GRANT ALL PRIVILEGES ON
phabricator_%.* TO 'phabricator'@'localhost';
phabricator提供了配置mysql连接的用户名和密码的机制
另外,您也可以更新配置文件
phabricator/ $ ./conf/local/local.json
确保此用户在mysql中具有适当的访问权限
然后运行
./bin/storage upgrade
嗨,我花了2天后很轻松地解决了这个问题:
不要忘记报价!!!
如果我在存储升级命令中传入用户名/密码但未从conf文件中正确获取,则存储现在可以使用新的数据库凭据 . 我将检查conf并相应地更新它 .