![]() |
![]() |
![]()
Post
#1
|
|
![]() Administrator serwera Grupa: Developerzy Postów: 521 Pomógł: 13 Dołączył: 2.04.2004 Skąd: 52°24' N 16°56' E Ostrzeżenie: (0%) ![]() ![]() |
Pytanie moze banalne: czy mozna stworzyc skryptem php uzytkownika i nadac mu prawa do konkretnej bazy lub baz? jesli mozna to jak zmienic mu haslo?? i jeszcze jedno pytanie: jak moge zmienic haslo na roota?? zainstalowalem mysql i ustawilem w my.ini haslo ale serwermysql uparcie twierdzi ze haslo nie zawiera zadnych znakow i musze sie logowac z pustym haslem...
-------------------- Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..." Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL" |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 2.01.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
System uprawnień w MySQL'u jest odwzorowaniem zawartości tabel bazy danych o nazwie 'mysql' i tylko tutaj są trzymane informacje na temat, tego kto(login), skad (host), z jakim haslem i do czego (bazy danych a nawet pojedyncze tabele) ma dostęp.
Dodanie użytkownika do bazy MySQL poprzez php sprowadza się do wykonania zapytania SQL: [sql:1:8c1b0ca5e4] GRANT ALL PRIVILEGES ON nazwa_bazy.* to uzytkownik@localhost identified by 'haslohaslo'; [/sql:1:8c1b0ca5e4] Powyższe zapytanie utworzy użytkownika o loginie "uzytkownik", który będzie mógł się łączyć tylko z "localhosta" (komputer na którym zainstalowana jest baza danych) i będzie on miał pełne prawa (modyfikacja tabel i poszczególnych rekordów) do wszystkich tabel ( "*" ) bazy danych o nazwie "nazwa_bazy". Zauważ, że po wykonaniu tego polecenia, dodawane są do odpowiednich tabel w bazie "mysql" odpowiednie rekordy. To polecenie i jego składnia, jest tak jakby interfejsem, który ułatwia korzystanie z systemu uprawnień. Trzeba pamiętać, że po jakiejkolwiek zmienia uprawnień należy "przeładować uprawnienia" takim zapytaniem: [sql:1:8c1b0ca5e4] FLUSH PRIVILEGES; [/sql:1:8c1b0ca5e4] Jeśli chodzi o zmianę hasła to zauważ ze w bazie "mysql" w tabeli "users" istnieje pole "Password", więc chcąc zmienić hasło dla danego usera, powinieneś zidentyfikować jego rekord z tabeli "users" za pomocą nazwy użytkownika (pole "User") i hosta (pole "Host") i dla tego rekordu zmienić wartośc pola "Password". Zauważ, też że hasła w tym polu przechowywane są w postaci niejawnej, więc powinieneś przy ręcznej zmianie hasła przepuścić to hasło przez MySQL'ową funkcję PASSWORD(), przykład: [sql:1:8c1b0ca5e4] UPDATE users SET Password=PASSWORD('nowe haslo') WHERE User="nazwa_uzytkownika" AND Host="localhost'; [/sql:1:8c1b0ca5e4] Zmianę hasła można też wykonać komendą dedykowaną (coś jak "GRANT" dla uprawnień), ale nie pamiętam jej ![]() A tak swoją drogą to poszukaj jakichś kursów o SQL, napewno jest tam coś napisane o systemie uprawnień. Myślę, że wyczerpałem temat, ale jak masz jakieś jeszcze pytania to wal śmiało. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Administrator serwera Grupa: Developerzy Postów: 521 Pomógł: 13 Dołączył: 2.04.2004 Skąd: 52°24' N 16°56' E Ostrzeżenie: (0%) ![]() ![]() |
dzieki jak cos jeszcze mi zabraknie to sie zapytam:)
-------------------- Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..." Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL" |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 05:32 |