MySQL datenbank mit DS214 funktioniert nicht

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

fbuehrer

Benutzer
Registriert
25. Nov. 2008
Beiträge
8
Reaktionspunkte
0
Punkte
0
Hallo,

habe hier eine Synology DS214 stehen und habe über die Paketverwaltung phpMyAdmin installiert. Leider wird nur die Fehlermeldung

#2002 - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
The server is not responding (or the local server's socket is not correctly configured).

angezeigt. Also per root-ssh auf die Box und ein /usr/syno/etc.default/rc.d/S21 start. Da passiert dann folgendes:

Initialize MySQL...
su: can't chdir to home directory '/var/services/homes/admin'
Installing MySQL system tables...
/usr/syno/mysql/bin/mysql_install_db: line 418: can't create /dev/null: Permission denied

Installation of system tables failed! Examine the logs in
/volume1/@database/mysql for more information.

You can try to start the mysqld daemon with:

shell> /usr/syno/mysql/libexec/mysqld --skip-grant &

and use the command line tool /usr/syno/mysql/bin/mysql
to connect to the mysql database and look at the grant tables:

shell> /usr/syno/mysql/bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /volume1/@database/mysql that may be helpful.

Please consult the MySQL manual section
'Problems running mysql_install_db', and the manual section that
describes problems on your OS. Another information source are the
MySQL email archives available at http://lists.mysql.com/.

Please check all of the above before mailing us! And remember, if
you do mail us, you MUST use the /usr/syno/mysql/bin/mysqlbug script!

Starting MySQL...
Starting MySQL.. ERROR! Manager of pid-file quit without updating file.
MYSQL data dir = /volume1/@database/mysql...


Das log-File sieht folgendermaßen aus:

131019 16:33:38 mysqld_safe Starting mysqld daemon with databases from /volume1/@database/mysql
131019 16:33:38 [Note] Plugin 'FEDERATED' is disabled.
/usr/syno/mysql/libexec/mysqld: Table 'mysql.plugin' doesn't exist
131019 16:33:38 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
131019 16:33:38 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
131019 16:33:38 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
131019 16:33:38 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
131019 16:33:38 InnoDB: Started; log sequence number 0 0
131019 16:33:38 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
131019 16:33:39 mysqld_safe mysqld from pid file /tmp/mysqld.pid ended

Ein erneuter Versuch die atenbank zu starten führt zu:

131019 16:41:04 mysqld_safe Starting mysqld daemon with databases from /volume1/@database/mysql
131019 16:41:04 [Note] Plugin 'FEDERATED' is disabled.
/usr/syno/mysql/libexec/mysqld: Table 'mysql.plugin' doesn't exist
131019 16:41:04 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: Log scan progressed past the checkpoint lsn 0 37356
131019 16:41:04 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 44233
131019 16:41:05 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
131019 16:41:05 InnoDB: Started; log sequence number 0 44233
131019 16:41:05 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
131019 16:41:05 mysqld_safe mysqld from pid file /tmp/mysqld.pid ended


Es scheint also so zu sein, dass die Scripts keine Datenbank anlegen können. Löschen des /volume1/@database-Ordners hat auch nichts gebracht.

Hat jemand eine Idee?

Cheers.
Felix
 
Hallo Felix,

keine Ahnung was Du da machst bzw. gemacht hast. Normalerweise brauchst Du auf der DS nur unter Systemsteuerung / Webdienste einen Haken unter "MySQL aktivieren" setzen. Das war es. Auf der Console Dienste starten oder aber auch Systemtabellen anlegen ist nicht nötig.

Deine Angaben oben sehen auch so aus als wenn Du nicht per "root" sondern per "admin" eingelogt bist.

Gruß Frank
 
Hi Frank,

das hatte ich natürlich als erstes probiert, aber Haken gesetzt hat offensichtlich nicht gereicht, daher hab ich mich per ssh eingeloggt um zu sehen ob der mysql-server läuft (tut er nicht, ps | grep mysql spuckt nichts aus). Daher händisch gestartet (nichts anderes macht das Haken setzen auf der Oberfläche ja auch nicht) und gesehen, dass der Dienst nicht gestartet wird. In der Hoffnung, dass jemand mit der Fehlermeldung was anfangen kann habe ich dass dann hier gepostet. Wie kommst du denn auf die Idee, dass ich das als admin und nicht als root ausgeführt habe?

Gruß.
Felix
 
Wie kommst du denn auf die Idee, dass ich das als admin und nicht als root ausgeführt habe?

Permission denied ist meist ein untrüglcihes Zeichen dafür. Und wenn Du

Rich (BBCode):
ps -Af | grep mysql

eingibst, dann könnte auch etwas mehr erscheinen.

Gruß Frank
 
Hi Frank,

die permission-denied Sache scheint daher zu kommen, dass das start-skript so ausschaut:

Rich (BBCode):
case $1 in
	start)
		RunMySQL=`/bin/get_key_value /etc/synoinfo.conf runmysql`
		case "$RunMySQL" in
		[Yy][Ee][Ss])
			;;
		*)
			echo "MySQL is not enabled. Skip..."
			exit;
			;;
		esac

                FuncInitialEnv

		VolHome=`/usr/syno/bin/servicetool --get-service-volume mysql`
		ServiceOnVolume=$?
		if [ ${ServiceOnVolume} -eq 0 ]; then
			echo "Let User to choose where to set MySQL..."
			exit;
		fi

		DataDir=${VolHome}/@database
		NeedUpgrade=1
		if [ ! -d ${DataDir}/mysql -o ! -f ${DataDir}/mysql/VERSION ]; then
			echo "Initialize MySQL..."
			mkdir $DataDir
			chown admin:users $DataDir
			su -l admin -c "/usr/syno/mysql/bin/mysql_install_db --datadir=${DataDir}/mysql --force"
			echo $MYSQL_VERSION > ${DataDir}/mysql/VERSION
			NeedUpgrade=0
		else
			chown admin:users $DataDir/mysql
			if [ -f ${DataDir}/mysql/VERSION ]; then
				grep $MYSQL_VERSION ${DataDir}/mysql/VERSION > /dev/null 2>&1
				if [ $? -eq 0 ]; then
					NeedUpgrade=0
				fi
			fi
		fi
		if [ $NeedUpgrade -eq 1 ]; then
			echo "Need to upgrade MySQL database. Starting..."
			UpgradeDatabase
			if [ $? -eq 0 ]; then
				echo $MYSQL_VERSION > ${DataDir}/mysql/VERSION
			fi
		fi

		echo "Starting MySQL..."
		${MYSQL_DIR}/share/mysql/mysql.server start --datadir=${DataDir}/mysql --pid-file=${PID_FILE} ${MYSQL_ARGS}
		echo "MYSQL data dir = ${DataDir}/mysql..."
		;;


Da sind ein paar Zeilen drin in denen Sachen als admin ausgeführt werden.


ps -Af scheint nicht zu gehen (genau so wie ps uax, ...) scheint irgend eine stripped-down busybox version von ps zu sein:

Rich (BBCode):
BusyBox v1.16.1 (2013-10-08 14:46:49 CST) multi-call binary.

Usage: ps 

Report process status

Options:
	w	Wide output

Gruß.
Felix
 
Zuletzt bearbeitet:
Sorry hatte nicht daran gedacht. Hab ps über IPKG bei mir installiert. Hier sind die Parameter und Ausgaben etwas anders.

Ich würde hier erst einmal den Weg gehen wie es auch vorgesehen ist bevor man Verzeichnisse löscht. Für mich wäre der "normale" Weg erst einmal den Haken zu aktivieren. (Ob der nur den Dienst startet oder noch andere Sachen setzt kann ich nämlich nicht sagen) und dann würde ich falls mysql nicht läuft mir mal die Logs anschauen.

/var/log/messages beispielsweise oder aber im Vezeichnis vom mysql /volume1/@databases/mysql oder so ähnlich.

Hab allerdings auch keine DS214. Hier wurde auf jeden Fall schon von Schwierigkeiten mit der Postgre Datenbank berichtet die mit einem Update in kürze behoben werden sollen. Vieleicht hängt das ja zusammen. Hier kann dann sicherlich Synology Auskunft geben.

Gruß Frank
 
Hallo zusammen,

ich habe dasselbe Problem und keine Lösung.

Angefangen mit #2002 (mysql.sock) nicht da, dann die Fehlermeldung mit der PID.
Inzwichen habe ich 8 Tabs offen mit der Google Suche, aber nicht wirklich eine Lösung.

Da habe ich wirklich keine Lust die DS(1511+) neu aufzusetzen...

Noch jemand eine Idee?

Grüße,
Yasmin
 
Hi Yasmin,

stehe mit dem Support-Team von Synology in Verbindung. Das Problem ist bekannt und (anscheinend) schon behoben. Auf der Download-Seite von Synology steht eine neue Version von DSM 4.3 zum herunterladen bereit. Allerdings ist das für nichtwissende nicht zu erkennen, da sich die Funktionsnummer und das Build-Datum nicht geändert haben. Lädt man sich das *.pat allerdings runter und schaut mit einem Texteditor rein sieht man:

Rich (BBCode):
minorversion="3"
buildphase="release"
buildnumber="3776"
smallfixnumber="0"
builddate="2013/10/19"
unique="synology_armadaxp_ds214"
extractsize=310510
indexdbextractsize=24816
packageextractsize=0
kannst ja mal schauen, ob es für deine DS1511 auch eine aktuelle Version gibt. Man kann dann durch sichern der Konfiguration, resetten der DS, neuinstallation der fimrware und zurückspielen der Konfiguration in einigermaßen erträglicher Zeit ein (hoffentlich) funktionierendes System haben. Ich werde erst heute Abend dazu kommen es auszuprobieren, kann aber dann gerne hier berichten ob es geklappt hat.

Cheers.
Felix
 
Hallo Felix,

das sieht mir aber doch nach dem ganz normalen Release 3776-3 was auch über die Updatefunktion des DSM verfügbar ist aus. Hat es denn geholfen? Ich konnte den Fehler auf einer Testmachine mit 4.3 allerdings in keinster Weise reproduzieren - War auch eine DS710, die ist aber der DS1511 ja ähnlich. Und eine DS1511 jedenfalls mit 4.2 zeigt wie auch alle anderen Machinen den Fehler nicht.

Gruss Frank
 
Hi Frank,

darüber habe ich mich beim Support auch schon bekalgt. Wortlaut war:

Yes, they have the same version of the firmware.
Is it possible to backup your configuration/ reset system / and reinstall
the system/ restore the configuration ?


Da sie die selbe Firmware version haben kann man auch kein Update direkt über Die Weboberfläche machen. Habe zur Zeit keinen physikalischen Zugriff auf das NAS, daher muss ich bis heute Abend mit dem Versuch warten. Du hast aber Recht, das DSM für die 1511+ zeigt:

Rich (BBCode):
minorversion="3"
buildphase="release"
buildnumber="3776"
smallfixnumber="0"
builddate="2013/08/17"
unique="synology_x86_1511+"
extractsize=333653
indexdbextractsize=24816
packageextractsize=0

selbe buildnumber, selbes minorrelease aber anderes build-datum. Da scheint sich also nichts getan zu haben. Sorry Yasmin.


Felix
 
Hallo zusammen,

danke für die Tipps.

Soweit ich mir erinnern kann habe ich auch die 3776-3 (zeigt allerdings im Info nur 3776).

Tja, blöd...

Aber vielleicht tut sich noch was.

Danke Euch. Vielleicht schreibe auch nochmal an Synology.

Grüße,
Yasmin
 
Hi,

nur kurz zur Info. Resetten der DS und Installation der neuen firmware hat alle meine Probleme behoben. Einziger Nachteil ist, dass jetzt die Indizierung noch mal neu durchlaufen muss, aber dafür funktionieren jetzt sowohl der MySQL als auch PostreSQL-Server (also auch Photo/Video/Audio-Station).

Cheers.
Felix
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat