On Thu, Feb 02, 2017 at 04:36:02PM +0000, Robie Basak wrote: > Hi Julian, > > I'm not very keen on failing preinsts.
Indeed, neither am I. I don't suggest this lightly, but given that the preinst already interrupts the user with a question (critical), and there are a few other preinsts which do the same to avoid things going crunch, this may not be terrible. > You seem to be making an assumption that your data will still be > readable after switching from MySQL to MariaDB. However, I don't make > that assumption if I switch from MySQL to Postgres. Indeed. However, Debian will now automatically switch if you install the default-mysql-server package, and in many people's minds, while MySQL is clearly different from Postgres, MariaDB which is a community-based MySQL server is not obviously so. (I think of LibreOffice and OpenOffice as an example of a similar split which was essentially compatible, as far as I know.) Installing default-mysql-server while upgrading jessie -> stretch is fine, but installing it after upgrading mysql-server to 5.7 will cause the trouble I've pointed out here. I wish there could be a big fat warning prior to installing default-mysql-server (which is more problematic than mariadb-server, which - as you say - sounds clearly distinct from mysql-server). > One difference is that the MySQL and MariaDB packages do conflict, for > various reasons. This is fundamental as they both listen on the same > port (and pretty much speak the same protocol) by default. However, I > don't think this is enough of a reason to rely on a user assumption > which simply isn't true upstream, and that we don't advertise. > > I think the right thing to do is the same as the MySQL->Postgres > scenario. The data should be able to stay put. The new daemon should > start (perhaps with a new empty database, as MariaDB is currently doing > if I understand correctly). And the user should be able to seamlessly > switch back. That the packages conflict shouldn't come in to it. That would be a great step forward! If mariadb were able to have its databases stored in /var/lib/mariadb instead of /var/lib/mysql, then this bug would be solved instantly (and in a much better way than my suggestion). If an existing /var/lib/mysql were present, then mariadb could ask on first installation whether to import the databases from there (assuming that they could be), and otherwise leave it (and /etc/mysql) alone entirely. I recall that there was mention of other packages making assumptions about /var/lib/mysql, but I don't remember more than that. I guess that's something to solve during the next release cycle. > Separately, mysqldump isn't in mysql-server-core-5.7. Could it be, and > if it could, would this be conflict-free? No: mariadb-server-5.7 Conflicts against mysql-server-core-5.7, so that wouldn't help. Best wishes, Julian

