MySQL vs MariaDB

Is upgrading transparent?

I’d say that it would be transparent for many, perhaps most. However, on one particular server that I manage for a client, the client had a ton of old Joomla 1.0, 1.5 and 2.5 sites. For whatever reason, after conversion to MariaDB, I had issues with some of the old Joomla sites.

1. On a couple of sites, the Docman stuff in the old Joomla quit working (could not upload documents).

This was because /usr/my.cnf on a MariaDB server has by default:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

And I couldn’t use the STRICT_TRANS_TABLES directive and support those ancient sites. I had to change sql_mode to:

sql_mode=NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO

NOTE: I do not recommend that anybody do that. Obviously the strict_trans_tables directive in place for a reason. But it caused troubles for those sites that I Xpress Transferred from a cPanel server running MySQL 5.6 to a cPanel server running Maria DB 10.00 until I modified the sql_mode.

2. On quite a few of the Joomla sites, apostrophes were and some other normal characters were replaced with strange characters

I’m running CL on all servers. This turned out to be an issue with these particular old flaky Joomla sites having been Xpress transferred from a CL/cPanel/MySQL 5.6 box to a CL/cPanel/MariaDB 10 box as well.

In this case though, for the specific sites, I had to disable the mysql mysqli, and pdo_mysql modules in PHP Selector and enable the nd_mysql, nd_mysqli and nd_pdo_mysql modules.

NOTE: This only happened on a bunch of ancient Joomla sites, all belonging to the same customer.

Aside from those things listed above, I have never had any issue with new accounts being added to MariaDB 10.0 server, or with migrating hundreds of other accounts (using Xpress Transfer) from a MySQL server to a MariaDB 10.0 server. I had done account transfers from CL/cPanel/MySQL 5.6 servers to CL/cPanel/MariaDB 10.0 servers many times before I transferred those particular Joomla sites, and I have transferred countless accounts from CL/cPanel/MySQL 5.6 servers to CL/cPanel/MariaDB 10.0 servers since I transferred those Joomla sites. I’ve never encountered a single issue aside from transferring those ancient Joomla sites with Docman and a bunch of other components on them.

MariaDB is supposed to be a drop-in replacement. But you can’t ever expect that switching 100s of customers will result in zero problems and 100% satisfaction every time.

And the good news is that even on those Joomla sites that weren’t working until I made changes, the main parts of all of the sites actually worked — some sites just displayed weird characters instead of apostrophes, and on other sites the client wasn’t able to upload documents using Docman. So it’s not like I had a server full of screaming customers. I had time to figure it out.

Root password force change in Linux

Some people call this rooting a server. Basically if you lost your root password and need to get int this is your only option. You will need to be in front for the server or with a KVN plugged in.

Make sure to follow each step exactly:

Reboot your computer / Turn your computer on.
Hold down the Shift key at the start of the boot process to enable the GNU GRUB boot menu (if it does not show)
Press ESC at the GNU GRUB prompt.
Press e for edit.
Use the Arrow keys to highlight the line that begins with kernel and press the e key.
Go to the very end of the line and add rw init=/bin/bash
Press Enter and then press b to boot your system.
Your system will boot up to a passwordless root shell.
Type in passwd yourusername
Set your new password.
Restart your system.

Bulk fix WordPress permissions

There is no plug ins in WordPress to bulk fix your permissions. That is why this little script was made. The trick is you have to run it from the root of the server which in most cases your hosting company has to do.

It’s really easy to run and 100% safe.

Here is how:

1. Download the script anywhere on the server

wget http://ezlinuxadmin.com/downloads/fixperms.sh

2. Run the script from the same folder it’s downloaded

This will fix one account
sh ./fixperms.sh -a username

This will fix all accounts
sh ./fixperms.sh -all

That’s it, enjoy!