OdyseeTeam / chainquery

Chainquery parses and syncs the LBRY blockchain data into structured SQL
https://lbry.tech
MIT License
2.25k stars 42 forks source link

Upgrade Chainquery to use MySQL 8.0 #94

Closed tiger5226 closed 5 years ago

tiger5226 commented 5 years ago

This is required in order to use the UCA 9.0 collation utf8mb_0900_unicode_ci.

tiger5226 commented 5 years ago

I created a branch with the required changes for chainquery to startup on MySQL8.0.

@nikooo777 I found that default-authentication-plugin=mysql_native_password needs to be added to the my.cnf.

The branch fails travis testing because there are some naming issues that are fixed in MySQL8.0 for foreign key indexes. In 5.7 they are automatically named while in MySQL8.0 they are not.

@lyoshenka I am hesitant to upgrade to 8.0 just for a more accurate collation. Travis doesn't support 8.0 yet either. Also they are not really compatible. Since internal-apis is on 5.7 this just makes maintaining dev environments difficult between the two. I spent a lot of time today getting this setup and trying to upgrade the 5.7 db. This failed miserably and I had to wipe my local chainquery database (maybe niko has better luck). I guess generally I am not a fan and I don't know that the differences between UCA 4.0 and UCA 8.0 will make that much of a difference any time soon.

nikooo777 commented 5 years ago

@tiger5226 we can get around the travis problem by using a dockerized mysql container. ezpz