No matter what mysql host configuration I try using the installer, it always tries to connect to a localhost database even though I don't have one.
To bypass the installer, I installed piwik a separate computer with a localhost database, then exported/imported the database, and copied the configuration file. When I changed the config.inc.php host variable on the non-localhost db server to a remote mysql server, it still tried to connect to localhost.
I traced the code down to core/Tracker/Db/Pdo/Mysql.php and it looks to me like the host variable was never added as part of the dsn.
I withdraw my suspect diagnosis for dsn in core/Tracker/Db/Pdo/Mysql.php. Still trying to figure out where to hard-code something that will make it work. Will comment back here if I figure out out before I give up.
Nevermind. Close this if you want to. I forgot all the trouble this particular server has because it connects to remote mysql by SSL. That meant I had to patch libs/Zend/Db/Adapter/Mysqli.php to have a new connection string parameter:
$_isConnected = <a class='mention' href='https://github.com/mysqli_real_connect'>@mysqli_real_connect</a>( $this->_connection, $this->_config['host'], $this->_config['username'], $this->_config['password'], $this->_config['dbname'], $port, NULL, MYSQLI_CLIENT_FOUND_ROWS | MYSQLI_CLIENT_SSL );
If you keep the bug, the new title should be something like, "SSL connections to MySQL not supported."
please report the bug to Zend Framework so we could have a simple solution downstream in Piwik code? thx