WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   MySQL Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist (http://www.wcm.at/forum/showthread.php?t=103538)

cylando 24.07.2003 14:46

MySQL Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
 
Hoffe, dass mir jemand weiterhelfen kann.

Ich habe auf einem W2K-Server MySQL installiert. Soweit lief auch alles gut, bis ich den Server neu starten musste.
Nun lässt sich MySQL weder als Dienst noch als Standalone starten.

Die Error-Datei gibt folgende Fehler aus:

InnoDB: The first specified data file .\ibdata1 did not exist:
InnoDB: a new database to be created!
030606 8:04:35 InnoDB: Setting file .\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
030606 8:04:35 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...
030606 8:04:36 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
030606 8:04:40 InnoDB: Started
mysqld-nt: ready for connections.
Version: '4.0.13-nt-log' socket: '' port: 3306
030606 8:07:16 mysqld-nt: Normal shutdown

030606 8:07:16 InnoDB: Starting shutdown...
030606 8:07:17 InnoDB: Shutdown completed
030606 8:07:17 mysqld-nt: Shutdown Complete

030606 8:19:06 InnoDB: Started
MySql: ready for connections.
Version: '4.0.13-nt-log' socket: '' port: 3306
030607 22:25:50 MySql: Normal shutdown

030607 22:25:51 InnoDB: Starting shutdown...
030607 22:25:54 InnoDB: Shutdown completed
030607 22:25:54 MySql: Shutdown Complete

030607 22:29:20 InnoDB: Started
MySql: ready for connections.
Version: '4.0.13-nt-log' socket: '' port: 3306
030723 17:22:13 MySql: Normal shutdown

030723 17:22:15 InnoDB: Starting shutdown...
030723 17:22:25 InnoDB: Shutdown completed
030723 17:22:25 MySql: Shutdown Complete

030723 17:25:59 InnoDB: Started
030723 17:25:59 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030723 17:25:59 Aborting

030723 17:25:59 InnoDB: Starting shutdown...
030723 17:26:01 InnoDB: Shutdown completed
030723 17:26:01 MySql: Shutdown Complete

030724 8:33:06 InnoDB: Started
030724 8:33:06 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 8:33:06 Aborting

030724 8:33:06 InnoDB: Starting shutdown...
030724 8:33:08 InnoDB: Shutdown completed
030724 8:33:08 MySql: Shutdown Complete

030724 8:33:18 InnoDB: Started
030724 8:33:18 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 8:33:18 Aborting

030724 8:33:18 InnoDB: Starting shutdown...
030724 8:33:20 InnoDB: Shutdown completed
030724 8:33:20 MySql: Shutdown Complete

030724 8:33:52 InnoDB: Started
030724 8:33:52 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 8:33:52 Aborting

030724 8:33:52 InnoDB: Starting shutdown...
030724 8:33:54 InnoDB: Shutdown completed
030724 8:33:54 MySql: Shutdown Complete

030724 9:02:19 InnoDB: Started
030724 9:02:19 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 9:02:19 Aborting

030724 9:02:19 InnoDB: Starting shutdown...
030724 9:02:21 InnoDB: Shutdown completed
030724 9:02:21 MySql: Shutdown Complete

030724 9:03:07 InnoDB: Started
030724 9:03:07 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 9:03:07 Aborting

030724 9:03:07 InnoDB: Starting shutdown...
030724 9:03:09 InnoDB: Shutdown completed
030724 9:03:09 MySql: Shutdown Complete

030724 9:20:16 InnoDB: Started
030724 9:20:16 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 9:20:16 Aborting

030724 9:20:16 InnoDB: Starting shutdown...
030724 9:20:18 InnoDB: Shutdown completed
030724 9:20:18 mysqld-nt: Shutdown Complete

030724 10:29:12 InnoDB: Started
030724 10:29:16 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 10:29:16 Aborting

030724 10:29:16 InnoDB: Starting shutdown...
030724 10:29:18 InnoDB: Shutdown completed
030724 10:29:19 mysqld: Shutdown Complete

030724 10:30:10 InnoDB: Started
030724 10:30:10 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 10:30:10 Aborting

030724 10:30:10 InnoDB: Starting shutdown...
030724 10:30:12 InnoDB: Shutdown completed
030724 10:30:12 MySql: Shutdown Complete

030724 10:42:43 InnoDB: Started
030724 10:42:43 Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
030724 10:42:43 Aborting

030724 10:42:43 InnoDB: Starting shutdown...
030724 10:42:45 InnoDB: Shutdown completed
030724 10:42:45 MySql: Shutdown Complete

Wie ersichtlich kann MySQL anscheinend nicht starten, da die InnoDB einen Fehler verursacht (Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist)

Da ich in MySQL nicht so bewandert bin (blutiger newbie) sagt mir die Fehlermeldung nichts. Ich wüsste auch nicht, dass ich die InnoDB verwende. Auf dem Server sehe ich auch keine InnoDB Dateien oder Verzeichnisse.

Falls notwendig, kann ich auch die my.cfg posten.

Wäre für eine rasche Hilfe sehr dankbar!

käptn 24.07.2003 17:28

Die my.cfg sollte my.ini heißen und in \winnt liegen.

Darin sollte das Verzeichnis der Datanbak eingetragen werden, etwa so:

Code:

[mysqld]
basedir=w:\mysql\4.0.13
datadir=w:\mysql\4.0.13\data

Nach deinen Fehlermeldungen, liegt's nicht an InnoDB, sondern daran, dass MySQL seine Host.* Dateien nicht findet.

Diese müssten im datadir der DB mysql liegen, also z.B. "w:\mysql\4.0.13\data\mysql\host.frm" etc.

HTH

~

cylando 24.07.2003 18:28

Leider hilft es mir nicht weiter :-(((
 
Die my.cfg Datei ist korrekt als my.ini und liegt im Verzeichnis \winnt. Nach meiner Meinung ist auch der Pfad korrekt eingetragen (siehe weiter unten).

Allerdings finde ich keine host.* dateien im MySQL-Ordner. Jedoch sehe ich einige *.frm Dateien. Weiss nicht, wie weit diese von bedeutung für den Start von MySQL sind?

Anbei meine my.ini Datei, vielleicht ist da ein Fehler zu entdecken:

# Example mysql config file.
# Copy this file to c:\my.cnf to set global options
#
# One can use all long options that the program supports.
# Run the program with --help to get a list of available options

# This will be passed to all mysql clients
[client]
#password=my_password
port=3306
#socket=MySQL

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# The MySQL server
[mysqld]
port=3306
#socket=MySQL
skip-locking
set-variable = key_buffer=256M
set-variable = max_allowed_packet=1M
set-variable = table_cache=256
set-variable = sort_buffer=1M
set-variable = record_buffer=1M
set-variable = myisam_sort_buffer_size=64M
set-variable = thread_cache=8
# Try number of CPU's*2 for thread_concurrency
set-variable = thread_concurrency=8
log-bin
server-id = 1

# Uncomment the following rows if you move the MySQL distribution to another
# location
basedir = d:/mysql/
datadir = d:/mysql/data/

# Uncomment the following if you are using BDB tables
#set-variable = bdb_cache_size=64M
#set-variable = bdb_max_lock=100000

# Uncomment the following if you are using Innobase tables
#innodb_data_file_path = ibdata1:1000M
#innodb_data_home_dir = c:\ibdata
#innodb_log_group_home_dir = c:\iblogs
#innodb_log_arch_dir = c:\iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50


[mysqldump]
quick
set-variable = max_allowed_packet=16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M

[myisamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M

[mysqlhotcopy]
interactive-timeout

Hoffe jemand blickt durch ...

Danke nochmals

käptn 24.07.2003 18:47

Die ist ok, aber wenn du keine host.* hast siehts schlecht aus.

-> aus dem Zip-Package entpacken.

Ausser host.* sollten noch folgende drin sein:

columns_priv.*
db.*
func.*
tables_priv.*
user.*

Wie hast du denn den Server neu gestartet? Mit Reset? :)

~

cylando 24.07.2003 21:05

Nein, der Server wurde ganz normal neu gestartet. Er hatte auch genug Zeit, die Dienste zu beenden.
Deshalb war ich auch so überrascht, dass MySQL auf einmal nicht mehr starten wollte.
Seit der Installation allerding wurde der Server nicht angerührt. D.h. der Server lief, MySQL wurde installiert einmal als --standalone getestet, dann als Diens dazugefügt und die Datenbank befüllt ...
Nun war ein Neustart erforderlich und nun das :heul:

FRAGE: Hilft ein nachträgliches Einfügen dieser Datei/Dateien?
Falls nicht, kann man eine bestehende Datenbank von aussen sichern? (Das Verzeichnis mit den Daten sehen ich ja)

THX

käptn 24.07.2003 21:07

Deine Daten sind (solange sie nicht selbst fehlerhaft sind) nicht verloren.

Entweder du entpackst die frischen Dateien aus data/mysql in dein Verzeichnis, oder du sicherst dein "datadir" Verzeichnis ohne den mysql Ordner und installierst mysql neu und kopierst die Datenbankvewrzeichnisse wieder zurück.

~

cylando 24.07.2003 22:31

Vielen Dank für die Hilfe/Info.

Werde es morgen gleich versuchen und dann eine Meldung geben was passiert ist.

Ist echt nett so einen kompetenten "Helper" zu haben.

Vielen Dank

cylando 25.07.2003 11:40

Schon ein Fortschritt, aber leider nicht ganz ...
 
Der Vorschlag mit dem Verzeichniss Data/myslq hat tatsächlich geholfen, da sind die Host-Dateien enthalten. Ich habe von der aktuellen MySQL-Version das Verzeichniss im mein MySQL hineinkopiert.
Nun startet zwar MySQL als Dienst und es kommen keine Fehlermeldungen.
Allerdings kann ich meine Seite immer noch nicht darstellten, denn es kommt auf der HP eine Fehlermeldung "Access denied for user: 'xxxxx@127.0.0.1' (Using password: YES)"
Anscheinend sind die HOST-Dateien, bzw. das data/mysql-Verzeichniss für die Benutzer und Passwörter zuständig. Wenn das stimmt sind dann meine Passwörter verloren? Heisst dass, dass ich nicht mehr auf MySQL zugreifen kann? Über phpmyadmin bekomme ich keinen Zugang.

Da beisst sich die Ratte in den Schwanz :(

cylando 25.07.2003 12:42

JUHUUU endlich geschafft!!!!
 
Mit ein wenig experimentieren hat es geklappt!!!

Zuerst hatte ich keinen Zugriff auf phpmyadmin wg. dem Passwort der ja in MySQL gespeichert bzw. jetzt eben nicht gespeichert war. In der phpmyadmin-config habe ich den pw entfernt, somit hatte ich mal zugriff auf mysql über phpmyadmin.

Dann noch pw für root vergeben den user angelegt mit seinem alten pw und voila, es hat geklappt.

Habe alles ohne Verluste überstanden :lol:

Ich danke nochmals "käptn picard" für seine tolle Hilfe.

THX


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag