Mailinglisten-Archive |
Patrick, Es ist zwar das FILE-Recht, aber dieses Recht gibt es nicht auf der Ebene von einzelnen Tabellen. mysql> grant file on db.tbl to user_(at)_host identified by 'password'; gibt schon eine Fehlermeldung: ERROR 1144: Illegal GRANT/REVOKE command. Please consult the manual which privileges can be used. Besser läuft mysql> grant create,select on db.tbl to user_(at)_host identified by 'password'; Query OK, 0 rows affected (0.00 sec) mysql> show grants for user_(at)_host; +-------------------------------------------------------------------------------+ | Grants for user_(at)_host | +-------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'user'_(at)_'host' IDENTIFIED BY PASSWORD '5d2e19393cc5ef67' | | GRANT SELECT, CREATE ON db.tbl TO 'user'_(at)_'host' | +-------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> grant file on *.* to user_(at)_host; Query OK, 0 rows affected (0.00 sec) mysql> show grants for user_(at)_host; +------------------------------------------------------------------------------+ | Grants for user_(at)_host | +------------------------------------------------------------------------------+ | GRANT FILE ON *.* TO 'user'_(at)_'host' IDENTIFIED BY PASSWORD '5d2e19393cc5ef67' | | GRANT SELECT, CREATE ON db.tbl TO 'user'_(at)_'host' | +------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) Dies sieht man auch indem man sich die Tabelle mit den Benutzerrechten anguckt: mysql> use mysql Database changed mysql> show tables; +-----------------+ | Tables_in_mysql | +-----------------+ | columns_priv | | db | | func | | host | | tables_priv | | user | +-----------------+ 6 rows in set (0.00 sec) Bei den Tabellen fehlt es das FILE-Recht: mysql> desc tables_priv; +-------------+---------- | Field | Type +-------------+---------- | Host | char(60) | Db | char(64) | User | char(16) | Table_name | char(60) | Grantor | char(77) | Timestamp | timestamp(14) | Table_priv | set('Select','Ins... | Column_priv | set('Select','Ins... +-------------+---------- Bei den Benutzern gibt es das FILE-Recht: mysql> desc user; +-----------------+---------------+... | Field | Type |... +-----------------+---------------+ | Host | char(60) | | User | char(16) | | Password | char(16) | | Select_priv | enum('N','Y') | | Insert_priv | enum('N','Y') | | Update_priv | enum('N','Y') | | Delete_priv | enum('N','Y') | | Create_priv | enum('N','Y') | | Drop_priv | enum('N','Y') | | Reload_priv | enum('N','Y') | | Shutdown_priv | enum('N','Y') | | Process_priv | enum('N','Y') | | File_priv | enum('N','Y') | | Grant_priv | enum('N','Y') | | References_priv | enum('N','Y') | | Index_priv | enum('N','Y') | | Alter_priv | enum('N','Y') | +-----------------+---------------+ 17 rows in set (0.00 sec) mysql> Übrigens ist kein FLUSH PRIVILEGES; notwendig bei der Benutzung von GRANT, sondern nur wenn man die obigen Tabellen mit INSERT, UPDATE, DELETE oder REPLACE selbst aktualisiert. Gruß, Kaj -- Kaj S. Arnö http://www.polycon.fi/mysql/de.php On Mon, 11 Jun 2001, Patrick Bierans wrote: > Meil Ziel: > select * into outfile '/path/file.sql' from db.tbl; > > Welches Recht brauche ich? "FILE", nicht war? > > grant file on db.tbl to user_(at)_host identified by 'password'; > flush privileges; > > select * into outfile '/path/file.sql' from db.tbl; > -> Access denied for user: 'user_(at)_host' (Using password: YES) > > Kann mir jemand sagen, warum es nicht geht? > > TIA, > > P. Bierans > > -- > LYNET Kommunikation AG - http://www.lynet.de - Patrick Bierans > Das Internet-Systemhaus fuer Multimedia- und Netzwerkloesungen > Zentrale Luebeck Fon +49-451-6131-0, Fax +49-451-6131-333 > Niederlassung Hamburg Fon +49-40-65738-0, Fax +49-40-65738-333 > > --- > !!NEU!! > Fragen und Antworten zu MySQL und dieser Liste unter > -->> http://www.4t2.com/mysql > > --- !!NEU!! Fragen und Antworten zu MySQL und dieser Liste unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive