Ucs2.4 to 3.0 mysql

german

#1

Hallo,

habe auf einem 2.4 System MySQL installiert (für Zarafa). Nach dem Update auf 3.0 startet mit nun der MySQL Server nicht mehr…

Durch den Aufruf von

/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

habe ich festgestellt, dass das /var/run/mysqld Verzeichnis nicht existiert, so habe ich es angelegt…

Nun startet der Server zwar, aber mit folgendem Fehler:

root@ucs24update:/var/run# /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock 120418 10:29:45 [Note] Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist 120418 10:29:45 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 120418 10:29:45 InnoDB: Initializing buffer pool, size = 8.0M 120418 10:29:45 InnoDB: Completed initialization of buffer pool 120418 10:29:45 InnoDB: Started; log sequence number 0 753987 120418 10:29:45 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist 120418 10:29:45 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. Created with MySQL 50051, now running 50161. Please use mysql_upgrade to fix this error. 120418 10:29:45 [ERROR] mysql.user has no `Event_priv` column at position 29 120418 10:29:45 [ERROR] Cannot open mysql.event 120418 10:29:45 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 120418 10:29:45 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.1.61-0.18.201203191556' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Univention)

[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

Wie genau führe ich das “mysql_upgrade” aus??

Ist von euch das Updaten mit einer MySQL Datenbank getestet??


#2

Bin nun einen Schritt weiter…

Dem Benutzer mysql wurde ein Heimatverzeichnis erstellt (/var/lib/mysql), habe nun alle Dateien des Benutzerprofiles gelöscht, danach konnte ich auch folgenden befehl ausführen:

mysqlcheck --all-databases --check-upgrade --auto-repair -u root --password="xxxx"

Hat mir zwar nun einige Tabellen repariert, nun erscheint beim starten des MySQL Servers:

root@ucs24update:/var/run# /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock 120418 10:48:54 [Note] Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist 120418 10:48:54 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 120418 10:48:54 InnoDB: Initializing buffer pool, size = 8.0M 120418 10:48:54 InnoDB: Completed initialization of buffer pool InnoDB: The log sequence number in ibdata files does not match InnoDB: the log sequence number in the ib_logfiles! 120418 10:48:54 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... 120418 10:48:54 InnoDB: Started; log sequence number 0 753997 120418 10:48:54 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist 120418 10:48:54 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. The table is probably corrupted 120418 10:48:54 [ERROR] mysql.user has no `Event_priv` column at position 29 120418 10:48:54 [ERROR] Cannot open mysql.event 120418 10:48:54 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 120418 10:48:54 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.1.61-0.18.201203191556' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Univention)


#3

Hallo,

ich vermute, dass das Paket “mysql-server” während des Updates deinstalliert wurde. Dies können Sie am einfachsten mit dem folgenden Befehl prüfen:

grep mysql-server /var/log/dpkg.log

Das Paket befindet sich im unmaintained Zweig des Repositories. Vermutlich reicht es die bislang durchgeführten Änderungen rückgängig zu machen und das Paket nach dem Update manuell zu installieren, alternativ müsste das Paket in das lokale Repository aufgenommen oder der unmaintained Zweig des Repositories vor dem Update aktiviert werden. Dieses können Sie über die folgende UCR Variable einbinden:

ucr set repository/online/unmaintained="yes"

Für eine der kommenden UCS Versionen ist geplant das Paket in den “maintained” Zweig zu übernehmen([bug]26375[/bug]).

Dieses Verhalten wurde bereits einmal in dem folgenden Forenthread behandelt:
[url]MySQL Server und Zarafa]

Mit freundlichen Grüßen
Tobias Scherer


#4

Das ist ein versionsbedingter Fehler. Mittlerweile klappt alles ganz normal.