Mins/TuxLite

Install gives: Unable to set password for the MySQL "root" user

DonDebonair opened this issue · 7 comments

When I run the install.sh script on a VPS running Ubuntu 12.10, at the point where mysql-server gets installed, I get a gui prompt saying:

Unable to set password for the MySQL "root" user

screen shot 2013-06-13 at 11 24 22 pm

After I press enter, it seems to be stuck at installing mysql-server-5.5

Am I doing something wrong?

Mins commented

Was the install attempted on a clean server? The error message seems to suggest that MySQL has already been installed.

If my memory serves me correctly, this also happens with OS templates (usually OpenVZ) with strange /tmp permissions. Can you check to see if its 777 on your system?

Sorry for waiting so long to get back to you.

Install was attempted at a clean server. I used dpkg --get-selections to make sure nothing mysql-like was installed. tmp directory was set to 777.

Mins commented

I'm unable to reproduce this on my test server running a clean install of Ubuntu 12.10. Can you try installing on a non-container type VPS, preferably use KVM/Xen.

I ran into this because my 512M OpenVZ server was running out of memory when mysql started up during the configure stage.

I reinstalled a minimal system, watched the memory usage as the TuxLite ./install.sh ran, and stopped apache before mysql installed. Now I just need to tune the settings so apache and mysql can both run in my 512 system.

HTH

@Mins I figured it out. It has to do with the innodb_use_native_aio setting in MySQL. Apparently OpenVZ containers doesn't support native async I/O, so you have to set innodb_use_native_aio to 0 in your my.conf. This solves the problem on Debian 7 at least. It hangs hangs in a loop after the Unable to set password for the MySQL "root" user dialog. Then you can stop it, change the setting and do ./install.sh again.
On Ubuntu however, this doesn't work, so in the end I chose to go with Debian.

Mins commented

@dandydev
Thanks for following up on this and good to hear you've solved this mysterious issue. I googled the innodb_use_native_aio + OpenVZ bug and it seems affect only certain OpenVZ templates, but not others. Anyhow, at least there is a partial workaround that I can refer others to.

@WayneBuckhanan
I've recently been made aware that MariaDB will also fail to start if installed on OpenVZ servers with <= 512MB RAM. The memory settings in default my.cnf needs to be lowered significantly before it'll work. May I suggest sticking to KVM or Xen your next VPS server =p

I have been solved. This is because the Django have been running, and python-mysqldb is connect with mysql. So I just stop the Django and all servers and make it.