I have a Joomla database that was installed automatically, with MyISAM, I believe. I want to install a package (CiviCRM) which requires INNODB for transactions and foreign key support.
I have two questions.
Is there an easy way to do this under Virtualmin/ Webmin?
(For future reference), is there a way to set the default for new databases to INNODB? Script installs don’t seem to ask this point.
So, at https://:10000/mysql/list_vars.cgi, it lists many variables that can be changed, but “storage engine” and “table type” are not editable.
Also, this page https://:10000/mysql/edit_cnf.cgi appears to be set up to edit the my.cfg file, but I don’t see any mention of default engine or table type there either.
This might be a very stupid question (I’m ignorant here), but since these pages only list a single “engine”, would changing the my.cfg file break existing databases? Can MySQL run both engines at the same time?
2… You’re welcome to use as many storage engines on one server as you like, you’re not required to use the same one. The docs at the above link mention the following:
It is important to remember that you are not restricted to using the same storage engine for an entire server or schema: you can use a different storage engine for each table in your schema.
If I were in your shoes, I wouldn’t change the default storage type for your entire server. To create a table using INNODB, so long as it’s supported by the server, you need only pass in a parameter when creating the table. I’d probably make the assumption that the app knows how to correctly create the table unless you find otherwise.