Fresh install issues on Ubuntu 18.04

install-ubuntu.sh works after I manually copy from site (wget pulls html). The three git repos pull down. I have the folders sitting in /var/www/html/phab/

From there I have /phabricator/webroot/ underneath this primary directory.

Initially I had a json error, found a solution of creating the file it errored on on it not existing adding “{}” to the file.

I had a setup issue with mysql which was my own fault, the user has full permissions now, and i can tell that part of the phabricator install has worked, however with i attempt to get it running, the instructions say now I must update the storage database and i get the following.

Are you ready to continue? [y/N] y

Applying patch “phabricator:20190718.paste.02.edgedata.sql” to host “127.0.0.1:3306”…
[2019-09-09 14:15:59] EXCEPTION: (AphrontQueryException) #1017: Can’t find file: ‘./phabricator_pastebin/edgedata.frm’ (errno: 2 - No such file or directory) at [/src/infrastructure/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:386]
arcanist(head=master, ref.master=3cdfe1fff806), phabricator(head=master, ref.master=7e2bec92807d), phutil(head=master, ref.master=f51f1b3f72b5)
#0 AphrontBaseMySQLDatabaseConnection::throwQueryCodeException(integer, string) called at [/src/infrastructure/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:320]
#1 AphrontBaseMySQLDatabaseConnection::throwQueryException(mysqli) called at [/src/infrastructure/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:216]
#2 AphrontBaseMySQLDatabaseConnection::executeQuery(PhutilQueryString) called at [/src/infrastructure/storage/xsprintf/queryfx.php:8]
#3 queryfx(AphrontMySQLiDatabaseConnection, string, string) called at [/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:274]
#4 PhabricatorStorageManagementAPI::applyPatchSQL(string) called at [/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:242]
#5 PhabricatorStorageManagementAPI::applyPatch(PhabricatorStoragePatch) called at [/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:1157]
#6 PhabricatorStorageManagementWorkflow::doUpgradeSchemata(array, NULL, boolean, boolean) called at [/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:903]
#7 PhabricatorStorageManagementWorkflow::upgradeSchemata(array, NULL, boolean, boolean) called at [/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php:78]
#8 PhabricatorStorageManagementUpgradeWorkflow::didExecute(PhutilArgumentParser) called at [/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:107]
#9 PhabricatorStorageManagementWorkflow::execute(PhutilArgumentParser) called at [/src/parser/argument/PhutilArgumentParser.php:457]
#10 PhutilArgumentParser::parseWorkflowsFull(array) called at [/src/parser/argument/PhutilArgumentParser.php:349]
#11 PhutilArgumentParser::parseWorkflows(array) called at [/scripts/sql/manage_storage.php:249]
root@resonancegrid /var/www/html/phab/phabricator # ./bin/storage upg rade --force
Applying patch “phabricator:20190718.paste.02.edgedata.sql” to host “127.0.0.1:3306”…

Where can i get this data so i can just manually do this? Is there any other work around?

Initially I had a json error, found a solution of creating the file it errored on on it not existing adding “{}” to the file.

This should be fixed in master and stable now, sorry about that.

#1017: Can’t find file: ‘./phabricator_pastebin/edgedata.frm’ (errno: 2 - No such file or directory)

This looks like an error coming from MySQL itself. Maybe you previously ran migrations but the only proceeded partway and MySQL failed for some reason? This error is abnormal and not consistent with normal MySQL behavior. My expectation is that it does not indicate that the table does not exist – that should give you a “table does not exist” error, like this:

mysql> RENAME TABLE local_user.quack TO local_user.moo;
ERROR 1146 (42S02): Table 'local_user.quack' doesn't exist

I would guess the error you’re receiving is more consistent with actual state corruption on disk, e.g. as if you just removed some files from the MySQL data directory manually.

Does the table exist? (USE phabricator_pastebin; SHOW TABLES;) Can you read it? (SELECT * FROM edgedata;)

The best course of action may be able to bin/storage destroy to drop all the databases (or just DROP DATABASE ... each database manually if that has issues), then upgrade again.

If you can give me reproduction instructions to get into this state I can try to improve our recovery from it, but I suspect those instructions must involve some very unusual step which accidentally damages or corrupts MySQL’s state.

I dropped all the phabricator tables and added --auto-stash to the pull commands in install-ubuntu.sh. Then I was running!