Difference between revisions of "Troubleshoot MySQL"

From FOG Project
Jump to: navigation, search
m
Line 3: Line 3:
  
 
Below, you may find notes and gibberish that I'm collecting to help make an article.
 
Below, you may find notes and gibberish that I'm collecting to help make an article.
 +
 +
Note: All of the things in this article apply to FOG 1.3.0 and '''under'''.
  
 
=MySQL's role in FOG=
 
=MySQL's role in FOG=

Revision as of 19:51, 13 December 2015

Page is currently under construction.


Below, you may find notes and gibberish that I'm collecting to help make an article.

Note: All of the things in this article apply to FOG 1.3.0 and under.

MySQL's role in FOG

MySQL is used to hold information and metadata about hosts, images, groups, snapins, various web-level fog settings, and other things. It does not house the actual image data. In newer Linux, it's being phased out in favor of MariaDB. All commands for MySQL will work for MariaDB.

Testing MySQL

On your FOG server, you can check passwords and the existence of the FOG database by issuing these commands:

No Password:

mysql
use fog
exit

Test with a username and password:

mysql -u UserNameHere -p PasswordHere
use fog
exit

MySQL Service

CentOS / RHEL / Fedora

Check status:

systemctl status mysql

Restart service:

systemctl restart mysql

Debian / Ubuntu

Check status:

Debian and Ubuntu status command here

Restart service:

service mysql restart



Manually export / import Fog database.

Export:

mysqldump -u USERNAME -p PASSWORD -h HOSTNAME fog > fogDB.sql

Import:

mysql -u USERNAME -p PASSWORD -h HOSTNAME fog < fogDB.sql


Example using root and 13375p3@k as the password on the local host.

#Exporting my DB locally on my FOG server...
mysql -u root -p 13375p3@k fog > fog_backup.sql
#
#Here is an import example...
mysql -u root -p 13375p3@k fog < fog_backup.sql
#
#Here is an example of exporting a remote DB to your current directory, where x.x.x.x would be replaced by the IP of the remote system...
mysql -u root -p 13375p3@k -h x.x.x.x fog > fog_backup.sql



enable remote mysql access to a linux user account:

mysql
GRANT ALL PRIVILEGES ON *.* TO 'LocalLinuxUserNameHere'@'%' IDENTIFIED BY 'UserPasswordHere' WITH GRANT OPTION;

Some systems have a bind address set. You can disable that in the my.cnf file.

Search for that file with this:

find / | grep my.cnf

Comment out these lines with a hash tag #

#skip-networking
#bind-address = 127.0.0.1




Increase maximum simultaneous MySQL connections

If you're imaging 50 to 200 computers simultaneously, or simply have a very large amount of hosts, you'll find the below settings helpful.

mysql
SET GLOBAL max_connections = 200;
flush hosts;


Open the my.cnf file and make the below change.

Fedora 20,21,22:

/etc/my.cnf

Ubuntu 14:

/etc/mysql/my.cnf

max_connections = 200

then restart mysql




Ubuntu 13.04 14.04 15.04 and higher with FOG 1.2.0


Ubuntu has issues with mysql. Particularly anything 13 and greater seems to be hugely a problem from my experience.

When this happens, fog will run normally after the server boots for 10 or 15 minutes and then mysql crashes, which forces a "Update the Database Schema" message when trying to use fog, and the schema updater does not fix the problem.

To test if this is the issue, simply try to restart MySQL (please note this is only temporary) and see if the problem goes away:

sudo service mysql restart

A fix has been reported with this issue. Here are the instructions to fix it:

Open this file:

sudo vi /var/www/fog/lib/fog/Config.class.php

Notate both the host, username & password and then close the above file. Open this file:

sudo vi /opt/fog/.fogsettings

Fill in the following portions:

  • snmysqluser="{root}"
  • snmysqlpass="{PasswordIfYouHaveOne}"
  • snmysqlhost="{localhost}"

Reset the mySQL database password to be what is in the config files.

Then run this:

sudo dpkg-reconfigure mysql-server-5.5

Enter in the new password when prompted.


If you still have issues re-run the installer.





For issues with Multicast, the DB tables associated with that could be dirty. You'll know this is the case if clients just sit at the partclone screen doing nothing.


TRUNCATE TABLE multicastSessions; 
TRUNCATE TABLE multicastSessionsAssoc; 
DELETE FROM tasks WHERE taskTypeId=8;

Via MySQL cli or phpmyadmin (easy to install)