Invalid FOG/MySQL Password Character: ";"
-
I would suspect since you caused great confusion with the sql password and this error is around sql, that you are having issues access the database.
In regards to your error, you have a combination of errors in your password. What you entered for the database password was ‘;Mich43l’; which if you look at what you posted the code saw ‘’;Mich’;’ or a null string, some extra text and a semicolon as a password. A semicolon for sql is an end of command.
Can you log into the mysql utility to access the sql server at all? The password may be a single semicolon (??) If you can’t you will need to go through the process to reset the mysql password, update the .fogsettings file and then rerun the installer to fix everything.
-
@Tom-Elliott said:
@christopherJames I’d actually recommend, if possible, using the dreaded semicolon. I’ll see what I can do about escaping the actual password directly, though escaping for bash is MUCH different than escaping for php.
let’s do all things dealing with
.fogsettings
in PHP instead?#!/usr/bin/php
or
php myscript.php
-
@Tom-Elliott said:
@christopherJames if this is the same password as originally setup, the ; was not the problem. Instead it is the quotes themselves.
I’m just guessing, also, that you reset the MySQL user password too. For your scenario, I’d request of you to escape the single quotes by preceding it with \ where the quotes are supposed to be in the actual password.
It is the current setup of the pw that’s failing as it is broken and unable to connect to the db.
Aaahhhhh, OK, now think I understand.
And no, I did not reset the MySQL password, the password in
/var/www/fog/lib/fog/Config.class.php
is the only one I’ve messed with since installation.
So if I’m understanding you correctly I changed it to this:
define('DATABASE_PASSWORD', '\';Mich43l\';');
restarted the Apache server
sudo service apache2 restart
But still no love from the management screen:
-
@christopherJames anything special in error logs?
-
@george1421 said:
I would suspect since you caused great confusion with the sql password and this error is around sql, that you are having issues access the database.
In regards to your error, you have a combination of errors in your password. What you entered for the database password was ‘;Mich43l’; which if you look at what you posted the code saw ‘’;Mich’;’ or a null string, some extra text and a semicolon as a password. A semicolon for sql is an end of command.
Can you log into the mysql utility to access the sql server at all? The password may be a single semicolon (??) If you can’t you will need to go through the process to reset the mysql password, update the .fogsettings file and then rerun the installer to fix everything.
I JUST thought of the same thing, wondering if the MySQL database choked on the password and puked too, and tried this:
christopher@NUC001:/$ mysql --user=root --password=';Mich43l'; Warning: Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) christopher@NUC001:/$ mysql --user=root --password=; Warning: Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) christopher@NUC001:/$ mysql --user=root --password=' >
-
@Tom-Elliott said:
@christopherJames anything special in error logs?
Many many of these:
[Tue Feb 16 20:29:15.038672 2016] [:error] [pid 7261] [client 192.168.1.101:49802] PHP Fatal error: Call to a member function query() on null in /var/www/fog/lib/db/MySQL.class.php on line 89, referer: http://192.168.1.101/
-
@christopherJames I think the first / next thing you need to do is get control of your sql server. To do this you need to work through the process of resetting root’s password for mssql. Here is a guide to get you started. https://support.rackspace.com/how-to/mysql-resetting-a-lost-mysql-root-password/
Please don’t use any special characters in the password especially '?%"/#`After you get the password reset ensure that you can login to mysql as root using
mysql -u root
then it will prompt you for the password. Now I’m going to suspect that nothing fog related is in the database. If you then issue the commandshow databases;
you will see a list of databases in mysql. Either way just key inexit
to leave the mysql console. Then move over to the .fogsettings file and update the database password with what you set the root password for mysql to. Then rerun the installer and hopefully it will recreate the missing mysql stuff. -
@christopherJames can you try double escaping? Make the single quotes where needed in the password as \\'.
I’m suspecting the first one is close, but sql is the one needing the escape, not php at that point. The php is still sending the unescaped quote.
-
@christopherJames for command line to work I think you would need to double quote the password so it sends all the data. Currently it’s just sending the stuff between the quotes, not the quotes themselves.
-
@george1421 said:
@christopherJames I think the first / next thing you need to do is get control of your sql server. To do this you need to work through the process of resetting root’s password for mssql. Here is a guide to get you started. https://support.rackspace.com/how-to/mysql-resetting-a-lost-mysql-root-password/
Please don’t use any special characters in the password especially '?%"/#`After you get the password reset ensure that you can login to mysql as root using
mysql -u root
then it will prompt you for the password. Now I’m going to suspect that nothing fog related is in the database. If you then issue the commandshow databases;
you will see a list of databases in mysql. Either way just key inexit
to leave the mysql console. Then move over to the .fogsettings file and update the database password with what you set the root password for mysql to. Then rerun the installer and hopefully it will recreate the missing mysql stuff.I did as instructed by what I found at that link and now I can access the MySQL database:
christopher@NUC001:~$ mysql --user=root --password=6sharp.dripping Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.6.28-0ubuntu0.15.10.1 (Ubuntu) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.03 sec) mysql> quit Bye christopher@NUC001:~$
-
@Wayne-Workman @Tom-Elliott @george1421
Thank you guys for ALL your tireless help, you’re amazing.
I will have to pick this up again tomorrow evening, no more time tonight.
And thank you again.
-
@christopherJames Great! now you have access to mysql, and we can see fog did not create anything in the DB. Tomorrow, update the .fogsettings file with the password you just created and proved that it worked. Next run the installer again so it will recreate the fog install with the updated password. During the install you will be prompted to access the web management console to install/update the schema. If you can get past the update schema page, then complete the install and you should be set.
(I might say you could “cheat” and just update the php config page directly with the password, then try to update the schema, but there is no guaranty that it will work this way.)
-
@george1421 said:
@christopherJames Great! now you have access to mysql, and we can see fog did not create anything in the DB. Tomorrow, update the .fogsettings file with the password you just created and proved that it worked.
I’m assuming by .fogsettings you mean /var/www/fog/lib/fog/Config.class.php
Next run the installer again so it will recreate the fog install with the updated password. During the install you will be prompted to access the web management console to install/update the schema. If you can get past the update schema page, then complete the install and you should be set.
I re-installed (is there even a way to uninstall first?) but still get:
The website encountered an error while retrieving http://192.168.1.101/fog/management/. It may be down for maintenance or configured incorrectly.
I checked the status of the apache server:
christopher@NUC001:~$ systemctl status -l apache2.service ● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2) Active: active (running) since Wed 2016-02-17 17:52:45 EST; 5min ago Docs: man:systemd-sysv-generator(8) Process: 10184 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS) Process: 5510 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS) Process: 10221 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS) CGroup: /system.slice/apache2.service ├─10235 /usr/sbin/apache2 -k start ├─10238 /usr/sbin/apache2 -k start ├─10239 /usr/sbin/apache2 -k start ├─10240 /usr/sbin/apache2 -k start ├─10241 /usr/sbin/apache2 -k start ├─10242 /usr/sbin/apache2 -k start └─10843 /usr/sbin/apache2 -k start Feb 17 17:52:44 NUC001 systemd[1]: Starting LSB: Apache2 web server... Feb 17 17:52:44 NUC001 apache2[10221]: * Starting web server apache2 Feb 17 17:52:44 NUC001 apache2[10221]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Feb 17 17:52:45 NUC001 apache2[10221]: * Feb 17 17:52:45 NUC001 systemd[1]: Started LSB: Apache2 web server.
-
@christopherJames said:
I’m assuming by .fogsettings you mean /var/www/fog/lib/fog/Config.class.php
No. Anytime you see someone refer to
.fogsettings
they mean/opt/fog/.fogsettings
-
Well that could be a problem, that file doesn’t exist. Got a copy?
-
@christopherJames Files in linux that begin with a
.
are hidden. Open up terminal, and issuels -la /opt/fog
and you’ll see it. Additionally, via CLI you can issuevi /opt/fog/.fogsettings
to edit the file with a text-based editor. Here’s basic instructions on Vi: https://wiki.fogproject.org/wiki/index.php?title=Vi -
Thanks, I guess it’s obvious I lack some fundamentals when it comes to administering Linux, eh? Thank you for educating me, I’ve read and added that link to my ever-growing list of references.
christopher@NUC001:~$ ls -la /opt/fog total 20 drwxr-xr-x 5 root root 4096 Feb 17 18:07 . drwxr-xr-x 4 root root 4096 Feb 17 18:06 .. drwxr-xr-x 2 root root 4096 Feb 17 18:07 log drwxr-xr-x 6 root root 4096 Feb 17 18:07 service drwxr-xr-x 2 www-data root 4096 Feb 17 18:06 snapins
-
@christopherJames Well that output is concerning. Have you ever gotten through the installer completely? You know that when you go to update the database via web browser, that you need to come back to the installer afterwards to continue right? I believe 1.2.0 doesn’t write the
.fogsettings
file unless installation completes. -
No, I’ve never gotten through it successfully. I get to this
You still need to install/update your database schema. This can be done by opening a web browser and going to: http://192.168.1.101/fog/management Press [Enter] key when database is updated/installed.
Follow the link but always get this in the browser:
The website encountered an error while retrieving http://192.168.1.101/fog/management/. It may be down for maintenance or configured incorrectly.
I can’t do anything else in the terminal until I press enter so… I press enter. Is that where I cocked it all up?
The rest of the install log (done tonight):
* Configuring Fresh Clam...OK * Setting up storage...OK * Setting up and starting NFS Server...OK * Setting up and starting DHCP Server...OK * Setting up and starting TFTP and PXE Servers...OK * Setting up and starting VSFTP Server...OK * Setting up sudo settings...OK * Setting up FOG Snapins...OK * Setting up and building UDPCast...OK * Installing init scripts...OK * Setting up FOG Services...OK * Starting FOG Multicast Management Server...Failed! Script done on Wed 17 Feb 2016 06:07:08 PM EST
So is this a chicken-or-the-egg problem? I need to edit .fogsettings before I can re-install successfully but .fogsettings is not there because I never really had a successful installation in the first place.
Additionally, (and hopefully not to muddy the water any further) this evening when I ran the FOG installation script I tried, while still paused at
You still need to install/update your database schema. This can be done by opening a web browser and going to: http://192.168.1.101/fog/management Press [Enter] key when database is updated/installed.
to navigate according to your instruction to:
/opt/fog/.fogsettings
however
/opt/fog/
didn’t even exist until I pressed enter. The only one in existence was
/opt/fog-setup
If you think this is a lost cause just let me know, this isn’t a production machine that anyone is depending on, I can nuke/pave and try again from scratch.
No big.
Seriously.
-
Ok lets see if we can get you going here. The easiest may be to have you acutally deploy the trunk version of fog over 1.2.0. There are so many changes in 1.3.0 (a.k.a trunk version, understanding that 1.3.0 hasn’t been released yet) that there may be little benefit in rolling out 1.2.0.
But where you are at in the process. You are installing fog 1.2.0, you probably have to answer a bunch of questions every time you run the installer, those answers are saved in the .fogsettings file we keep talking about. Wayne mentioned that those values are only saved if the installer completes correctly.
So you run the installer and then it stops at the use the url …/fog/management. On that page you will run the schema install that will create the missing FOG database entries. Without those tables being created the reset of the install will fail, spectacularly. If you can’t access the management page then ensure that th httpd server is running on your FOG server (it should be by default). If it is running but you can’t access the web page, then I would have to ask if you disabled the firewall (and disabled selinux) like you were instructed.
To see if your web server is only you can use the following command
sudo netstat -an|grep :80
which should return lines if your web server is listening on port 80 (standard http). You could also use the commandps aux|grep http
to report if there are any processes in memory with the name http.