Toon posts:

MySQL bug of feature?

Pagina: 1
Acties:
  • 126 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Als root een database aa_bb aanmaken en rechten geven...
code:
1
2
3
4
5
6
7
8
mysql> create database aa_bb;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON aa_bb.* TO 'aa'@localhost IDENTIFIED BY 'bb';
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

Dan als user aa inloggen...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#/usr/local/mysql/bin/mysql -u aa -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1455 to server version: 3.23.44-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database `aa!bb`;
Query OK, 1 row affected (0.00 sec)


mysql> show databases;
+----------+
| Database |
+----------+
| aa!bb    |
| aa_bb    |
| mysql    |
+----------+
3 rows in set (0.00 sec)

Dit gedrag lijkt me niet echt gewenst...

MySQL versie: MySQL 3.23.44-log

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:40
Je bedoelt dat je de andere databases niet mag zien :?

Verwijderd

Topicstarter
neej, hij mag geen andere database aanmaken...

Verwijderd

Ik heb wel een php scriptje voor je, deze maakt de database aan, geeft de zelfde inlognaam als de naam van de database en je geeft de wachtwoord op.

de gebruiker met deze inlognaam en wachtwoord kan alleen werken met zijn eigen databse

stuur anders even een email en ik zal je hem mailen

info@tikklik.nl

Steffan

  • luc
  • Registratie: Maart 2000
  • Niet online

luc

Op dinsdag 13 november 2001 17:03 schreef TikKlik het volgende:

Ik heb wel een php scriptje voor je, deze maakt de database aan, geeft de zelfde inlognaam als de naam van de database en je geeft de wachtwoord op.



de gebruiker met deze inlognaam en wachtwoord kan alleen werken met zijn eigen databse



stuur anders even een email en ik zal je hem mailen



info@tikklik.nl



Steffan
Dat is 't hele probleem niet TikKlik, het probleem is dat de _ in de databasenaam fungeert als een wildcard.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:57

Creepy

Tactical Espionage Splatterer

Arrggh.. ik moet beter lezen voordat ik POST!

Hmm.. is het niet mogelijk karakters te escapen o.i.d.? Toch es ff op de MySQL site kijken..

[edit]
en jawel
To test for literal instances of a wild-card character, precede the character with the escape character. If you don't specify the ESCAPE character, `\' is assumed:
\% Matches one % character
\_ Matches one _ character
code:
1
2
3
4
mysql> select 'David!' LIKE 'David\_';
      -> 0
mysql> select 'David_' LIKE 'David\_';
      -> 1

Oftewel feature! :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
code:
1
2
3
mysql> GRANT ALL PRIVILEGES ON aa_bb.* TO 'aa'@localhost IDENTIFIED BY 'bb';
                       ^
                       |

daar ga je de mist in. Even quotes om aa_bb heen zetten denk ik.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:57

Creepy

Tactical Espionage Splatterer

Op woensdag 14 november 2001 00:58 schreef little_soundman het volgende:
code:
1
2
3
mysql> GRANT ALL PRIVILEGES ON aa_bb.* TO 'aa'@localhost IDENTIFIED BY 'bb';
                       ^
                       |

daar ga je de mist in. Even quotes om aa_bb heen zetten denk ik.
quotes helpt dus niet... escapen (met een \ ervoor) wel. Mijn post hierboven niet gelezen?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • luc
  • Registratie: Maart 2000
  • Niet online

luc

Hmmz ik vind 't maar een crappy feature dan..
phpmyadmin gaat er ook van over de zeik :)

Verwijderd

code:
1
mysql> GRANT ALL PRIVILEGES ON `aa_bb.*` TO 'aa'@localhost IDENTIFIED BY 'bb';

Verwijderd

Topicstarter
dank voor al jullie reacties :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mysql> create database aa\_bb;
ERROR:
Unknown command '\_'.
ERROR 1064: You have an error in your SQL syntax near '\_bb' at line 1
mysql>

mysql> create database `aa_bb`;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on `aa_bb.*` to aa@localhost identified by 'bb';
ERROR 1103: Incorrect table name 'aa_bb.*'
mysql>

mysql> grant all privileges on aa\_bb.* to aa@localhost identified by 'bb';
ERROR:
Unknown command '\_'.
ERROR 1064: You have an error in your SQL syntax near '\_bb.* to aa@localhost identified by 'bb'' at line 1
mysql>

mysql> grant all privileges on `aa_bb`.* to aa@localhost identified by 'bb';
Query OK, 0 rows affected (0.01 sec)

mysql>

Inloggen als user aa
code:
1
2
3
4
mysql> create database `aaabb`;
Query OK, 1 row affected (0.00 sec)

mysql>

Ja, hoest nou? Wat doe ik nu weer fout? :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:57

Creepy

Tactical Espionage Splatterer

hmm.. met ` en \_ tegelijk?

create table `aa\_bb` en grant bla on `aa\_bb`.* ...... ??

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Ashe
  • Registratie: November 2001
  • Laatst online: 25-04 11:04
Ik denk dat MySQL met een bug zit ;)

Het gaat enkel als je als die user inlogt en de _ in de database staat dus wel degelijk voor een wildcard.

Je kan als die user alle databases aanmaken waarin je die _ in database_name vervangt door eender welk karakter. Je kan die databases ook droppen... Verder kan je ook switchen naar die databases en daarin tabellen aanmaken en droppen.

Wat ook tof is dat show databases alle databases toont (ook die die je dan hebt aangemaakt), maar een select * from db (als root) die databases dan weeral niet toont.

Ik zou zeggen: zend een bug report naar mysql ofzo :)

Wie weet heb je net een bug gevonden die wel vrij nasty is :P

Het heeft echter wel niet zoveel gevolgen denk ik gezien het feit dat andere gebruikers niet aan die database en tabellen kunnen, doch lijkt het me een bug :)

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 05-05 13:52

Super_ik

haklust!

ik wel es het zelfde probleem gehad, maar dan met spaties en \spaties, ook nooit helemaal gekrege zoals ik het wilde hebbe :(

toen maar geen spaties meer op de plaatsen waar het zoals hier ditsoort gedoe opleverd. kep er toen wel veel 'research' naar gedaan, maar elk proggie in linux ging er bij mij anders met de spaties om. zelfs met "" en '' , maakte allemaal nix uit :(

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • Hans
  • Registratie: Juni 1999
  • Niet online
ik zou het eens droppen op de mailinglist. mocht het werkelijk een probleem zijn worden we er allemaal beter van.
Pagina: 1