Hello,
I keep having the same issue with the SQL database. I am running DLANDON Unraid docker, I followed DLANDON's trouble shooting steps to start zoneminder container without starting the database or Zoneminder, I sent that forum the results and DLANDON suggested I come here. I am pasting those results below the set of warnings from the log.
I have deleted everything and started over from scratch 3 times and each time after a week or so Zoneminder fails to load and I get these warnings.
Thanks for any suggestions or help!!
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
Jul 22 12:47:00 853d22092257 zmupdate[1125]: ERR [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) error val:]
Unable to connect to DB. ZM Cannot continue.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 150.
Compilation failed in require at /usr/bin/zmupdate.pl line 74.
Jul 22 12:47:00 853d22092257 zmupdate[1125]: ERR [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) error val:]
BEGIN failed--compilation aborted at /usr/bin/zmupdate.pl line 74.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
Jul 22 12:47:00 853d22092257 zmupdate[1127]: ERR [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) error val:]
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
Unable to connect to DB. ZM Cannot continue.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 150.
Compilation failed in require at /usr/bin/zmupdate.pl line 74.
BEGIN failed--compilation aborted at /usr/bin/zmupdate.pl line 74.
Jul 22 12:47:00 853d22092257 zmupdate[1127]: ERR [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) error val:]
Starting ZoneMinder:
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
Jul 22 12:47:00 853d22092257 zmpkg[1137]: ERR [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) error val:]
Unable to connect to DB. ZM Cannot continue.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 150.
Compilation failed in require at /usr/share/perl5/ZoneMinder.pm line 33.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder.pm line 33.
Compilation failed in require at /usr/bin/zmpkg.pl line 34.
BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 34.
Jul 22 12:47:00 853d22092257 zmpkg[1137]: ERR [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) error val:]
ZoneMinder failed to start
*** /etc/my_init.d/40_firstrun.sh failed with status 255
*** Killing all processes...
Jul 22 12:47:00 853d22092257 syslog-ng[20]: syslog-ng shutting down; version='3.25.1'
I have no problem removing everything and starting over but something that I am doing must be wrong to get the same issue every time.
Please help.
Chas
(DLANDON trouble shooting)
I am really sorry. I was able to follow the instructions and received this when I tried to start ZM
root@Tower:~# docker exec -it Zoneminder /bin/bash
root@ef02f6c53378:/# service mysql start
* Starting MariaDB database server mysqld [fail]
root@ef02f6c53378:/# service zoneminder start
Starting ZoneMinder:
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
07/22/21 13:18:22.026917 zmpkg[1176].ERR [ZoneMinder::Database:113] [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) error val:]
07/22/21 13:18:22.027215 zmpkg[1176].ERR [ZoneMinder::Database:113] [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) error val:]
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at /usr/share/perl5/ZoneMinder/Database.pm line 110.
07/22/21 13:18:22.027685 zmpkg[1176].ERR [ZoneMinder::Database:113] [Error reconnecting to db: errstr:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) error val:]
Unable to connect to DB. ZM Cannot continue.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 150.
Compilation failed in require at /usr/share/perl5/ZoneMinder.pm line 33.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder.pm line 33.
Compilation failed in require at /usr/bin/zmpkg.pl line 34.
BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 34.
ZoneMinder failed to start
Thank you in advance
Chas
Can't connect to local MySQL server through socket
Re: Can't connect to local MySQL server through socket
Docker is more difficult to troubleshoot. Perhaps you would be better off using a bare metal ZM install.
Mysql is (I'm assuming) crashing. There are occasionally memory leaks in ZM for various reasons (in 1.34). I resolve this with a weekly or monthly reboot. Otherwise, if you wanted to troubleshoot this, one option would be to setup some CPU / Process monitoring in the host (Cacti, Zabbix) another option would be to follow any of the system logs to see if there's some reason things are crashing. My guess is, that you need more power/resources in the machine, or you are running out of memory. You could also try lowering FPS/Resolution of the cameras and see if that stabilizes the container.
Mysql is (I'm assuming) crashing. There are occasionally memory leaks in ZM for various reasons (in 1.34). I resolve this with a weekly or monthly reboot. Otherwise, if you wanted to troubleshoot this, one option would be to setup some CPU / Process monitoring in the host (Cacti, Zabbix) another option would be to follow any of the system logs to see if there's some reason things are crashing. My guess is, that you need more power/resources in the machine, or you are running out of memory. You could also try lowering FPS/Resolution of the cameras and see if that stabilizes the container.
fastest way to test streams:
ffmpeg -i rtsp://<user>:<pass>@<ipaddress>:554/path ./output.mp4 (if terminal only)
ffplay rtsp://<user>:<pass>@<ipaddress>:554/path (gui)
find paths on ispydb or in zm hcl
If you are new to security software, read:
https://wiki.zoneminder.com/Dummies_Guide
ffmpeg -i rtsp://<user>:<pass>@<ipaddress>:554/path ./output.mp4 (if terminal only)
ffplay rtsp://<user>:<pass>@<ipaddress>:554/path (gui)
find paths on ispydb or in zm hcl
If you are new to security software, read:
https://wiki.zoneminder.com/Dummies_Guide
-
- Posts: 494
- Joined: Sun Jun 29, 2014 1:12 pm
- Location: Melbourne, AU
Re: Can't connect to local MySQL server through socket
Funny I saw you get punted over here from Unraid and I was thinking looks like a problem with Docker. Given it is supposed to just work out of the box. But some issue using the DB so let's check it exists.
Anyway try at CLI in Docket Container as per previous docker exec command you used.
Then
and zmpass when asked for password. I am not sure you will get past this, but if you do then you know credentials are OK.
See if Db called ZM db exists.
Switch to it
Looks like the SQL DB is persisted in the config folder so perhaps you had a failed install and now the DB is stuffed and keeps reloading every time you install. Only guessing as I don't use Unraid and Docker, but willing to have a look at it.
Anyway try at CLI in Docket Container as per previous docker exec command you used.
Then
Code: Select all
mysql -u zmuser -p
See if Db called ZM db exists.
Code: Select all
show databases;
Code: Select all
use zm;
Code: Select all
show tables;
Production Zoneminder 1.37.x (Living dangerously)
Random Selection of Cameras (Dahua and Hikvision)
Random Selection of Cameras (Dahua and Hikvision)
Re: Can't connect to local MySQL server through socket
Sorry about the long delay.
I keep having the issue, sometimes an app data restore will fix it for a couple of weeks sometimes rebuilding everything is the only way to get it back
The database crashed again
What do I do if I can't get past the password?
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Chas
I keep having the issue, sometimes an app data restore will fix it for a couple of weeks sometimes rebuilding everything is the only way to get it back
The database crashed again
What do I do if I can't get past the password?
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Chas
Re: Can't connect to local MySQL server through socket
Update;
I deleted everything and rebuilt it again.
This time I checked for answers to your questions/suggestions.
I was able to log in using zmpass
the response to "show databases;" was
+--------------------+
| Database |
+--------------------+
| information_schema |
| zm |
+--------------------+
2 rows in set (0.009 sec)
MariaDB [(none)]> use zm;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zm]> show tables;
+-----------------+
| Tables_in_zm |
+-----------------+
| Config |
| ControlPresets |
| Controls |
| Devices |
| Event_Summaries |
| Events |
| Events_Archived |
| Events_Day |
| Events_Hour |
| Events_Month |
| Events_Week |
| Filters |
| Frames |
| Groups |
| Groups_Monitors |
| Logs |
| Manufacturers |
| Maps |
| Models |
| MonitorPresets |
| Monitor_Status |
| Monitors |
| MontageLayouts |
| Servers |
| Sessions |
| Snapshot_Events |
| Snapshots |
| States |
| Stats |
| Storage |
| TriggersX10 |
| Users |
| ZonePresets |
| Zones |
+-----------------+
34 rows in set (0.003 sec)
I assume that this means it is working correctly, yes?
The real question is this, what do I do the next time it fails, I couldn't get past the zmpass login when it failed.
Chas
I deleted everything and rebuilt it again.
This time I checked for answers to your questions/suggestions.
I was able to log in using zmpass
the response to "show databases;" was
+--------------------+
| Database |
+--------------------+
| information_schema |
| zm |
+--------------------+
2 rows in set (0.009 sec)
MariaDB [(none)]> use zm;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zm]> show tables;
+-----------------+
| Tables_in_zm |
+-----------------+
| Config |
| ControlPresets |
| Controls |
| Devices |
| Event_Summaries |
| Events |
| Events_Archived |
| Events_Day |
| Events_Hour |
| Events_Month |
| Events_Week |
| Filters |
| Frames |
| Groups |
| Groups_Monitors |
| Logs |
| Manufacturers |
| Maps |
| Models |
| MonitorPresets |
| Monitor_Status |
| Monitors |
| MontageLayouts |
| Servers |
| Sessions |
| Snapshot_Events |
| Snapshots |
| States |
| Stats |
| Storage |
| TriggersX10 |
| Users |
| ZonePresets |
| Zones |
+-----------------+
34 rows in set (0.003 sec)
I assume that this means it is working correctly, yes?
The real question is this, what do I do the next time it fails, I couldn't get past the zmpass login when it failed.
Chas
- bkjaya1952
- Posts: 282
- Joined: Sat Aug 25, 2018 3:24 pm
- Location: Sri Lanka
Re: Can't connect to local MySQL server through socket
Please try the up to date simple docker repository used in the following link
https://hub.docker.com/r/bkjaya1952/doc ... 7.4-mysql8
https://hub.docker.com/r/bkjaya1952/doc ... 7.4-mysql8