How is MySQL (MariaDB) installed ?
MariaDB 5.5 MySQL performance fork is used by default as an alternative to official Oracle MySQL 5.1/5.5/5.6 Servers. MariaDB MySQL server is installed via official MariaDB RPMs.

Why MariaDB MySQL ?
Put simply, MariaDB 5.2.x MySQL server currently has the best performance mix for both MyISAM and InnoDB storage engines in MySQL. You can read benchmarks I did on my blog Part 1 and Part 2. While it may not make as much difference for VPS and dedicated servers with low memory and cpu core count specifications, MariaDB 5.2.x uses Percona's XtraDB InnoDB engine so has same or somewhat better InnoDB performance as Percona but MariaDB is the only MySQL version which still focuses on MySQL core improvements as well as improvements to MyISAM engine.

News from Red Hat Summit, also will see Red Hat 7 switch from Oracle MySQL to MariaDB MySQL. This is big news as Oracle MySQL base starts to dwindle, MariaDB MySQL user base will be increasing. Hence, decision for Centmin Mod default installs to use MariaDB MySQL is the right one.

You can also add Google to the long list of companies migrating to MariaDB as well according to TheRegister.co.uk.

Managing MySQL Databases and Users
Currently, Centmin Mod doesn't bundle any tools to manage MariaDB MySQL. You have to do it:

Install tools such as HeidiSQL on your own pc to connect to your server ?

Changing MariaDB 5.5 default character set and collation from latin1 to utf8 ?Page 3 of my blog article outlines different ways to change MySQL 5.1 or 5.5 server's default character set and collation from latin 1 to utf8. The same applies to MariaDB 5.5 MySQL server which defaults to latin1 character set and latin1_swedish_ci collation.

You can see the defaults for MariaDB 5.5 MySQL server by typing the following command in ssh telnet (you'll be prompted to enter mysql root password if set, otherwise if mysql root doesn't have a password set, just hit enter):

Note, character_set_system is UTF8 by default on latin1 default system and that is normal as MySQL system database and tables themselves at /var/lib/mysql/mysql/*are UTF8 by default. But every other database created defaults to latin1 if database and table creation queries don’t specify charset and collation values.

To change defaults respectively for character set and collation to utf8 and utf8_general_ci, you need to add under [mysqld] group in /etc/my.cnf the following line character-set-server=utf8:

What about MySQL 5.6 ? MariaDB 10.x ?
Yes, I already have standalone test upgrade scripts written for MySQL 5.6 and MariaDB 10.x (MariaDB's equivalent MySQL 5.6 base) which are based on the same standalone test upgrade script for MariaDB 5.5. So far I've only tested MariaDB 5.5 and MySQL 5.6.10 standalone test upgrade scripts. More testing will be needed before inclusion in Centmin Mod v1.2.3+ and higher releases.

I just stumbled across this myself--surprised that Centminmod still sets MyISAM as the default engine after upgrading to MariaDB 10, when MySQL and Maria both now default to InnoDB out of the box. @eva2000 maybe add a note on the MySQL centminmod page after the "changing default to UTF-8" that says "changing default to InnoDB"... Your web pages are the first thing I check as a resource before digging in the forums, and didn't see any mention there that Centminmod uses a non-default setting.

@Brent any reason why you want to change this in Centminmod file rather than edit your my.cnf and restart MySQL?

Trying to decide which way to do it myself, and leaning toward just having Ansible edit the my.cnf after it gets installed.

I just stumbled across this myself--surprised that Centminmod still sets MyISAM as the default engine after upgrading to MariaDB 10, when MySQL and Maria both now default to InnoDB out of the box. @eva2000 maybe add a note on the MySQL centminmod page after the "changing default to UTF-8" that says "changing default to InnoDB"... Your web pages are the first thing I check as a resource before digging in the forums, and didn't see any mention there that Centminmod uses a non-default setting.

@Brent any reason why you want to change this in Centminmod file rather than edit your my.cnf and restart MySQL?

Trying to decide which way to do it myself, and leaning toward just having Ansible edit the my.cnf after it gets installed.

Click to expand...

Yeah will add to Getting started and MySQL pages a note or just make it default for .08 beta 02 and higher = InnoDB ?

I'd vote to make InnoDB the default and add a note saying "If you're running a really tiny VPS, like <512 MB ram, you may wish to set the default table engine to MyISAM".

I just think that'd be both less surprising and most blog posts on the web going forward are going to be talking/advocating InnoDB, so a n00b will be expecting that. Only someone who knows what they're doing will be purposefully switching to MyISAM to save RAM, so probably better to not have it as default. Plus VPS costs are plummeting so fast that if someone is running a site they care about and installing Centminmod on a new server, there's a good chance it'll be on a 1GB or greater instance. Ramnode charges $7 a month for 1GB, which is absurdly cheap.

I'd vote to make InnoDB the default and add a note saying "If you're running a really tiny VPS, like <512 MB ram, you may wish to set the default table engine to MyISAM".

I just think that'd be both less surprising and most blog posts on the web going forward are going to be talking/advocating InnoDB, so a n00b will be expecting that. Only someone who knows what they're doing will be purposefully switching to MyISAM to save RAM, so probably better to not have it as default. Plus VPS costs are plummeting so fast that if someone is running a site they care about and installing Centminmod on a new server, there's a good chance it'll be on a 1GB or greater instance. Ramnode charges $7 a month for 1GB, which is absurdly cheap.

Click to expand...

Yeah maybe do auto detect if <512MB memory and set accordingly ? But for now just added Getting Started note to item 11.

Remember though, InnoDB performance is only as good as memory allocated to InnoDB specific buffers and InnoDB related tuning. Centmin Mod /etc/my.cnf does have based tuned settings but InnoDB needs to be tuned for your specific web app's usage requirements anyway. Just switching from MyISAM to InnoDB engine default will do nothing for performance if you do not tune InnoDB settings in /etc/my.cnf for such - especially if InnoDB is memory starved.

Anyone who knows this, will have edited /etc/my.cnf accordingly including setting default storage engine to InnoDB instead of default MyISAM set by Centmin Mod initial install