Skocz do zawartości
Zaloguj się, aby obserwować  
Mich@ł

Uprawnienia do tworzenia baz danych

Polecane posty

W jaki sposób można nadać użytkownikowi X uprawnienia do tworzenia baz danych? Mam na myśli tworzenie baz poprzez php.

 

W phpmyadmin mam informacje że nie ma uprawnień.

 

Googluje dzisiaj cały dzień i jakoś efektu za bardzo nie widać :/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

xorg, masz na myśli phpmyadmin?

 

Bo jezeli tak to ja tam nie widzę nigdzie możliwości nadania uprawnień dla użytkownika.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli to jest jakakolwiek instalacja hostingu współdzielonego,

wtedy nie masz szans skorzystać z opcji "grant".

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jest to serwer dedykowany, o tym "grant" cos tam czytałem w manualu tyle że to jakieś takie dziwne jest.

 

Gdzie te zapytania (?) "grant" wpisywać?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po części już załapałem o co chodzi tylko mam problem z wejściem do MySQL poprzez ssh... Wpisuje

mysql -u root -p

, później hasełko roota i otrzymuje komunikat:

 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A ustawiłeś w ogóle hasło? :)

 

/usr/local/bin/mysqladmin -u root password <hasło>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

p, nie ustawiałem szczerze mówiąc jest to konfiguracja z livenetu z CentOS :)

 

wlazłem do katalogu który podałeś odpaliłem polecenie:

mysqladmin -u root password moje haslo

i otrzymałem efekt:

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'

 

W ogóle w tym katalogu bin nie ma pliku o nazwie mysqladmi. Takowy plik znalazłem w /usr/bin/ ale efekt ten sam co powyżej...

 

Próbowałem logowac sie też bez hasła ale też bez efektu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
p, nie ustawiałem szczerze mówiąc jest to konfiguracja z livenetu z CentOS :)
Widocznie mają ustawione defaultowo jakieś hasło...

 

Pisz do nich... W końcu mają pełną administracje w cenie :)

 

edit:

 

A... Zupełnie zapomniałem... Jest jeszcze coś takiego jak:

/usr/local/bin/mysql_install_db

które powinno być uruchomione przed pierwszym uruchomieniem MySQL'a... Podejrzewam, że tego też nie uruchomiłeś?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

p, ja przez konsole nic ni uruchamiałem :) serwer było od razu skonfigurowany i szczerze mówiąc ładnie śmiga :)

 

/usr/local/bin/mysql_install_db

Co to właściwie ma robić ?

 

 

Ogólnie MySQL śmiga na serwerze. Tylko to piekielne haslo. Z Livenetu otrzymałem odp że hasło ma byc takie samo jak hasło roota tyle że w moim przypadku nie pasuje.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
p, ja przez konsole nic ni uruchamiałem :) serwer było od razu skonfigurowany i szczerze mówiąc ładnie śmiga :)
Tego wcześniej nie napisałeś... W takim razie to co pisałem powyżej odpada...

 

Co to właściwie ma robić ?
Google gryzie? :)

 

Ogólnie MySQL śmiga na serwerze. Tylko to piekielne haslo. Z Livenetu otrzymałem odp że hasło ma byc takie samo jak hasło roota tyle że w moim przypadku nie pasuje.
W takim razie tutaj też Ci nikt raczej nie napisze jakie masz hasło :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Google gryzie? tongue.gif

Google mnie nie lubi :)

 

Nie no daje sobie z tym spokój. Za około tydzień planuje i tak przeprowadzkę do OVH na stosunkowo lepszą maszynę więc tam już będę znał hasełko :)

 

Dzięki za poświęcony czas.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Właściwie możesz jeszcze zresetować hasło root'a, skoro Ci z LiveNet'u nie chcą Ci go powiedzieć :)

 

Utwórz plik o takiej zawartości:

UPDATE mysql.user SET Password=PASSWORD('hasło') WHERE User='root';
FLUSH PRIVILEGES;

Zabij mysql'a, a następnie uruchom go w ten sposób:

/usr/local/bin/mysqld_safe --init-file=/scieżka/do/pliku

Oczywiście po zrestartowaniu hasła odpal normalnie mysql'a i skasuj plik z jawnie podanym hasłem :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

p, jesteś genialny ;D Ustawiłem nowe hasło i wszystko śmiga :)

 

poleceniem:

GRANT ALL ON gentoo.* TO 'admin'@'localhost' IDENTIFIED BY 'hasło';

Ustawiłem dla użytkownika uprawnienia. Nie wiem tylko po co w tym zapytaniu podawać nazwę bazy danych :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W tym zapytaniu user: admin ma wszystkie prawa do bazy gentoo na hasło jakie mu podałeś.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No tak ale w phpmyadmin pojawiła mi się możliwość tworzenia baz danych czyli wszystko ok. Później po testuje czy mogę tworzyć je z poziomu php.

 

Jak wszystko bedzie ok biore się za pisanie skryptów :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jednak za wcześnie się cieszyłem. Gdy chce utworzyć bazę danych otrzymuje komunikat:

#1044 - Access denied for user 'forumer_admin'@'localhost' to database 'forumer_forums'

zapytanie SQL:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pomału już prawie rozwiązałem problem :)

 

Wystarczyło zapytanie:

GRANT ALL ON *.* to 'uzytkownik'@'localhost' IDENTIFIED BY 'haslo';

tyle że jest jedno ale, taki użytkownik widzi wszystkie bazy danych które są na serwerze a to nie koniecznie o to mi chodziło. Będę kombinował aby zamiast ALL dać mu indywidualne zezwolenia.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

oczywiscie ze widzi, skoro dajesz mu 'ALL'... teraz daj UPDATE jak napisal @p.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

ey., w jakim celu mam dawać UPDATE ? Podpowiedź @p zrobiłem już wcześniej i mam dostęp do "mysql" poprzez konsole.

 

Teraz tylko muszę jakoś zrobić tak aby były podstawowe funkcje takiej jak selekt, create itp i dodatkowo możliwość tworzenia baz danych przy pomocy create database.

 

Zapewne zamiast ALL trzeba to będzie jakoś ograniczyć.

 

Da się w ogóle cos takiego zrobić :)?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zalogowałem się przez phpmyadmin jako root i widze że mozna "wyklikac" zezwolenia.. Tyle że nie widzę tam nic co odpowiadało by za uprawnienie do tworzenia baz danych...

 

W tym manualu również nie wyczytałem tego.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Samo CREATE jest do tworzenia tabel:

 

CREATE Enables use of CREATE TABLE

 

Obawiam się, że jeśli chcesz dać uprawnienia danemu użytkownikowi do tworzenia baz to musisz użyć ALL

 

@edit

 

Chociaż spróbuj:

 

GRANT CREATE DATABASE ON mydb.* TO 'someuser'@'somehost';

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×