Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

04.03.2010, 07:36

mysql-5.1.44 und amarok-2.2.90

Liebe Leserin, lieber Leser!

Gentoo ist in mancher Hinsicht sehr gut,
vor allem, wenn man Zeit und Lust hat,
sich sozusagen "von Adam und Eva an"
mit Linux auseinanderzusetzen.

Doch muss man damit rechnen, dass irgendwann einmal
eine Hürde auftaucht, die - fast - nicht zu überspringen ist.

Um nun nicht noch weiter auszuholen, will ich ein solches Problem
einmal genauer ausführen. Ich stand selbst vor dieser "Hürde"
und kam nur durch geduldige Begleitung im Forum darüber hinweg.


A. Problembeschreibung

Es geht genauer um mysql und amarok.

Diese beiden haben mir bis vor kurzem nie irgendeinen Grund gegeben,
auf sie näher aufmerksam zu werden.

Doch beim Update vor einigen Tagen kam es, wie es eben kommen kann:
dev-db/mysql-5.1.44 und virtual/mysql-5.1 wollten mit amarok-2.2.90
nicht mehr zusammenarbeiten.

Wer sich beim Auftauchen dieses Problems in google umschaut,
wird etliche Orte finden, an denen es um genau diesen Problemkreis geht.

Inzwischen ist mysql-5.1.44-r1 aufgetaucht, doch auch damit keine Änderung.


B. Problemlösung

Erster Schritt: amarok ohne "embedded" installieren.
USE="-embedded" emerge -av amarok
Das heisst aber, dass amarok beim Starten nach einer Datenbank fragt,
die bisher vorhandene gibt es so nicht mehr. Vielmehr ist "Handarbeit"
angesagt.

Eine Alternative, um schneller ans Ziel zu kommen, wäre es,
mysql-5.1.44 und mysq-5.1 zu maskieren und mit den Vorgängerversionen
weiterzuarbeiten.

Ich jedenfalls habe nicht aufgegeben, vor allem, weil man mir Unterstützung
zugesagt hatte.

Zwischenbemerkung: Als host sollte "localhost" nicht alleinstehen,
am besten einen benennen in /etc/conf.d/hostname und diesen dann in
/etc/hosts hinter "localhost" ergänzen.

Gehen wir Schritt für Schritt durch, was zu tun ist.

1. Wenn mysql ein Update erfährt - also keine Neuinstallation vorliegt,
müssen per revdep-rebuild zwei Punkte abgearbeitet werden:

Quellcode

1
2
revdep-rebuild --library libmysqlclient.so.15
revdep-rebuild --library libmysqlclient_r.so.15


2. Nach emergen von mysql wird in den Infos bereits angezeigt,
was zu tun ist:

Quellcode

1
2
3
emerge --config =dev-db/mysql-5.1.44
bzw.
emerge --config =dev-db/mysql-5.1.44-r1


Bei mir kam damit das erste Hindernis. Zwar konnte ich ein root-Passwort
setzen und nach ENTER wiederholen, aber das Ende dieses Prozesses war

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Configuring pkg...

 * Creating the mysql database and setting proper
 * permissions on it ...
 * Insert a password for the mysql 'root' user
 * Avoid ["'\_%] characters in the password
    >
 * Retype the password
    >
.100226  9:09:56 [Warning] The syntax '--default-character-set' is deprecated and will be removed in a future release. Please use --character-set-server instead.
100226  9:09:56 [Warning] The syntax '--skip-locking' is deprecated and will be removed in a future release. Please use --skip-external-locking instead.
100226  9:09:56 [Warning] //usr/sbin/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
....ERROR 2002 (HY000): Can't connect to local MySQL server through socket '//var/run/mysqld/mysqld1234.sock' (2)
 * Loading "zoneinfo", this step may require a few seconds ...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '//var/run/mysqld/mysqld1234.sock' (2)
/var/tmp/portage/dev-db/mysql-5.1.44/temp/environment: Zeile 3644: //var/run/mysqld/mysqld12892.pid: Datei oder Verzeichnis nicht gefunden
kill: Gebrauch: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
 * Stopping the server ...
 * Done


Das ist nun insofern nicht dramatisch, weil es einen Weg gibt,
dennoch ein root-Passwort zu setzen.

3. Vor jeder weiteren Aktion muss mysql gestartet werden:

Quellcode

1
/etc/init.d/mysql start


Dabei wird zu sehen sein:

Quellcode

1
2
 Starting  ...
 * Starting  (/etc/mysql/my.cnf)


4. Nun logge man sich als root in mysql ein:

Quellcode

1
mysql -u root


Nun lautet der prompt

Quellcode

1
mysql>


Aufpassen im weiteren Verlauf:
mysql> ist der Prompt, also kein Befehl!
mysql ist ein Befehl innerhalb von mysql


5. Das root-Passwort kann jetzt gesetzt werden:

Quellcode

1
mysql> set password for root@localhost = password('XXXXX');

wobei XXXXX dein Passwort ist - in Klarschrift.

Quellcode

1
2
mysql> flush privileges;
mysql> quit


6. Jetzt ist das root-Passwort gesetzt und du kannst dich mit Passwort einloggen:

Quellcode

1
mysql -p -u root


7. Nun kann für amarok eine Datenbank erstellt werden:

Quellcode

1
2
mysql> CREATE DATABASE amarokdb;
Query OK, 1 row affected (0.00 sec)


8. Wechsle in diese neue Datenbank:

Quellcode

1
2
mysql> USE amarokdb;
Database changed


9. Jetzt muss nur das, was in amarok bei der Datenbank empfohlen wird,
umgesetzt werden:

Quellcode

1
mysql> GRANT ALL ON amarokdb.* TO 'XXXXX'@'localhost' IDENTIFIED BY 'Passwort';

wobei XXXXX dein Username ist und dein User-Passwort eingetragen werden muss.

Quellcode

1
2
mysql> FLUSH PRIVILEGES;
mysql> quit


10. Nach diesen Schritten kann in amarok die neue Datenbank amarokdb genutzt werden,
allerdings müssen Host, Username und Userpasswort korrekt eingetragen sein.


C. Nachtrag

Zu danken habe ich Josef.95, der mir durch seine Geduld zu diesem erfolgreichen Ergebnis
verholfen hat.

Manfred

2

09.03.2010, 14:34

Hier auch noch ein paar hilfreiche Links zu dem Thema:
Gentoo Doku: MySQL Einführung
MySQL Doc: http://dev.mysql.com/doc/
MySQL: Database Backup Methods
Amarok Wiki: http://amarok.kde.org/wiki/De:MySQL_HowTo
Amarok MySQL_Server Howto http://amaroklive.com/wiki/MySQL_Server

/edit: Link hinzugefügt

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »josef.95« (17.03.2010, 01:20)