Odmowa dostępu do założenia tabeli mimo przyznanych uprawnień.

Odpowiedz Nowy wątek
2017-11-21 23:15

Rejestracja: 8 lat temu

Ostatnio: 7 godzin temu

0

Witam.

Pierwszy raz walczę z bazą MySQL na Linuxie w trybie konsolowym :).

Zainstalowałem co trzeba, stworzyłem bazę, dodałem użytkownika, podłączyłem się klientem (HeidiSQL) i próbuję dodać tabelę jednak baza zwraca błąd:
screenshot-20171121231332.png

sprawdzając uprawnienia mam:
screenshot-20171121231414.png

o ile dobrze rozumiem zapisz to tomasz może "wszystko" w bazie teksty.
W takim razie dlaczego nie może dodać tabeli :)?

Wywoływałem flush privileges ale nic to nie zmienia.

Pozostało 580 znaków

2017-11-22 13:55

Rejestracja: 4 lata temu

Ostatnio: 15 godzin temu

0

Spróbuj z określeniem hosta.


Wiedza to potęga

Pozostało 580 znaków

2017-11-22 14:18

Rejestracja: 17 lat temu

Ostatnio: 10 godzin temu

0

A co zwróci zapytanie:

SELECT DATABASE();

No moze nie na tej bazie puszczasz....

I pokaż DDL-a

Pozostało 580 znaków

2017-11-22 23:11

Rejestracja: 8 lat temu

Ostatnio: 7 godzin temu

0

@Panczo:

[email protected]:~# mysql -p -u tomasz
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 46
Server version: 5.5.54-0ubuntu0.12.04.1 (Ubuntu)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use tekst;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| tekst      |
+------------+
1 row in set (0.00 sec)

mysql> CREATE TABLE `testowa` (`ID` INT NULL );
ERROR 1142 (42000): CREATE command denied to user 'tomasz'@'localhost' for table 'testowa'

Baza jest pusta, więc nie bardzo mam co pokazać ;).

@Haskell dodałem usera [email protected]


mysql> SELECT user, host, password, select_priv, insert_priv, shutdown_priv, grant_priv  FROM mysql.user;
+------------------+-----------+-------------------------------------------+-------------+-------------+---------------+------------+
| user             | host      | password                                  | select_priv | insert_priv | shutdown_priv | grant_priv |
+------------------+-----------+-------------------------------------------+-------------+-------------+---------------+------------+
| root             | localhost | *6C9421A5A5AB5FB033AAA12214CA985F7DB8601F | Y           | Y           | Y             | Y          |
| root             | ubuntu1   | *6C9421A5A5AB5FB033AAA12214CA985F7DB8601F | Y           | Y           | Y             | Y          |
| root             | 127.0.0.1 | *6C9421A5A5AB5FB033AAA12214CA985F7DB8601F | Y           | Y           | Y             | Y          |
| root             | ::1       | *6C9421A5A5AB5FB033AAA12214CA985F7DB8601F | Y           | Y           | Y             | Y          |
| debian-sys-maint | localhost | *4EA490E67450A06F6B015DFB6E4A018A5241604E | Y           | Y           | Y             | Y          |
| tomasz           | %         | *BAD26D21ABF43663A863552EB77ECBDFF12524CA | Y           | Y           | Y             | Y          |
| tomasz           | localhost | *21A41954AEDB3390924AA8EE2331EE49C2290BAC | N           | N           | N             | N          |
+------------------+-----------+-------------------------------------------+-------------+-------------+---------------+------------+

teraz po zalogowaniu na localhost (tak jak w przykładzie wyżej) tabla została założona.

Pytanie dlaczego '%' nie działa...

edytowany 3x, ostatnio: hipekk, 2017-11-22 23:13

Pozostało 580 znaków

2017-11-23 13:30

Rejestracja: 4 lata temu

Ostatnio: 15 godzin temu

1
hipekk napisał(a):

teraz po zalogowaniu na localhost (tak jak w przykładzie wyżej) tabla została założona.

Pytanie dlaczego '%' nie działa...

Długo by tłumaczyć... :) Prawdopodobnie masz anonimowych userów na bazie: ''@'localhost' lub ''@'127.0.0.1', którzy nie mają uprawnień. Gdy się logujesz mysql próbuje dopasować usera i hosta, a przez anonima dopasowuje go właśnie jako anonima, który uprawnień nie ma. Wystarczy ich zdropować i wtedy wpis z '%' powinien zacząć działać.


Wiedza to potęga
edytowany 1x, ostatnio: Haskell, 2017-11-23 13:34
Czyli, że obojętnie jakiego użytkownika by wpisał to loguje mu się jako anonim ? - pol90 2017-11-23 15:51
Nie, tylko tych użytkowników, którzy mają '%' - Haskell 2017-11-23 17:49

Pozostało 580 znaków

2017-11-23 15:43

Rejestracja: 8 lat temu

Ostatnio: 7 godzin temu

0

@Haskell:
Taki użytkowników mam w bazie:
screenshot-20171123150643.png

Jeżeli byłby jakiś anonimowy to chyba (z tego co znalazłem w sieci) byłby wpis typu:

screenshot-20171123154341.png

Pozostało 580 znaków

2017-11-23 17:54

Rejestracja: 4 lata temu

Ostatnio: 15 godzin temu

0

Zrób sobie ponownie tego usera z '%', zaloguj się na niego i uruchom SELECT USER(),CURRENT_USER();


Wiedza to potęga

Pozostało 580 znaków

2017-11-23 18:43

Rejestracja: 8 lat temu

Ostatnio: 7 godzin temu

0

Tak namieszałem że żaden użytkownik nie ma ma uprawnień do uprawnień :D.

Nawet root ? - pol90 2017-11-23 18:43
ERROR 1142 (42000): SELECT,INSERT,GR command denied to user 'root'@'localhost' for table 'teksty' :) - hipekk 2017-11-23 18:46

Pozostało 580 znaków

2017-11-23 21:16

Rejestracja: 17 lat temu

Ostatnio: 10 godzin temu

0

Ty dodajesz tych użytkowników przez create user czy insertujesz do tabeli nowych?

Pozostało 580 znaków

2017-11-24 08:02

Rejestracja: 8 lat temu

Ostatnio: 7 godzin temu

0

Przez create user.

Pozostało 580 znaków

2017-11-27 21:07

Rejestracja: 8 lat temu

Ostatnio: 7 godzin temu

0

Nie wiem co ja wcześniej zrobilem...
Postawiłem vm od nowa, wrzuciłem co trzeba, utworzyłem bazę, użytkownika i działa :D

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0