EE Site Create Fails @ DB Creation if mysql password has special characters in my.cnf


I reported this on github about 6 months ago as I thought it was a valid bug report, and I never heard anything, so I wanted to ask you guys here is the community has ran into this issue, or if this is a known limitation of EE?

To have a mysql password with special characters (# for example) you have to enclose in in quotes in my.cnf (i.e. password = “p@s$”) which seems to break the EE Site Create at the mysql portion even when both my.cnf files have the correct password in correct format.


(mysql root password is set to ‘pass’ & mysql command auto logs on) tail /etc/mysql/conf.d/my.cnf & tail /root/.my.cnf: [client] user = root password = pass This Works fine and “ee site create --mysql” works perfectly

(mysql root password is set to ‘p@$$’ & mysql command auto logs on) tail /etc/mysql/conf.d/my.cnf & tail /root/.my.cnf: [client] user = root password = “p@$$” This does not work and “ee site create --mysql” fails and the log validated it can not create the database due to failing logging into mysql.

my.cnf, and in turn mysql work fine with the special chars in the password with ether a double or single quote in my.cnf around the password, and mysql auto logs in using my.cnf both ways, but EE will not work with ether.

Anyone else notice this?


I noticed.

Then I stopped using special characters in my password.

Did I take the wrong path?


I had noticed this before too.

I love using special characters mixed with letters (uppercase and lowercase) and numbers to make the password more difficult.

It would be great if they looked at this issue.


I noticed and stopped using special characters as well.


It’s not that you took the wrong path, but it is generally considered more secure to use a mix of letters with different cases, numbers, and special characters in a password. Which is fully supported in Linux and Mysql/MariaDB (as it is mostly everywhere), but their is a part of the EasyEngine code that is failing when they are used, which is probably considered a small bug that hopefully can get fixed in the future.

Here is the link to where I reported it on Github back in 2015: