Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ MySQL _ Problem z dostępem do bazy danych

Napisany przez: Majkelphp 7.06.2018, 10:20:08

Witam.

Pomagałem znajomemu odzyskać hasło do CMS. Zrobiłem to logując się do MySQL. Niestety najpierw musiałem z poziomu panelu home.pl, zmienić hasło do bazy danych i teraz po wejściu na stronę pojawia się komunikat:
Access denied for user 'baza.nr.2'@'localhost' (using password: YES)

Rzecz w tym, że ta strona korzysta z dwóch baz danych jednocześnie. W jednej znajduje się cała "struktura" strony (nazwijmy ją baza.nr.1) a w drugiej wszystkie na bieżąco dodawane elementy np. zdjęcia, filmy itp. (nazwijmy baza.nr.2)

Plik php wygląda następująco:

<?
session_start();

// Po��czenie do bazy danych
$conn = mysql_pconnect("localhost","baza.nr.1","hasło1");
$db = mysql_select_db("baza.nr.1");

$image_path = "/img2/";

$admin_user = 'admin';
$sqlQuery = "SELECT pass FROM tb_user WHERE u_name = '$admin_user'";
$sqlResult = mysql_query($sqlQuery);
if (mysql_numrows($sqlResult) > 0) {
list($admin_pass) = mysql_fetch_row($sqlResult);
} else {

$admin_pass = 'password';
}
?>

Przed zmianą hasła do baza.nr.2, wszystko działało poprawnie. Czy powinienem w tym pliku coś zmienić czy może muszę zmienić coś (czyli pewnie podać nowe hasło) w panelu MyAdmin?

Dodam, że w linijkach:

$conn = mysql_pconnect("localhost","baza.nr.1","hasło1");
$db = mysql_select_db("baza.nr.1");

zmieniałem bazy danych na baza.nr.2 i odpowiednio hasło i nie pomogło

Napisany przez: mmmmmmm 7.06.2018, 14:17:27

1. hasła nie zmieniasz dla bazy, tylko dla użytkownika na danym serwerze BD.
2. mysql_pconnect jako drugi parametr przyjmuje nazwę użytkownika, a nie bazy danych.

Napisany przez: Majkelphp 7.06.2018, 14:49:34

Czyli rozumiem, że baza danych jest jedna, ale każdy z użytkowników ma uprawnienia dostępu do innych tabel?

Napisany przez: nospor 7.06.2018, 15:07:16

Odnosze wrazenie ze zle rozumiesz pojecie "uzytkownika".

Baz danych moze byc i tysiace.
Dla kazdej z bazy danych mozesz dodac dowolna ilosc uzytkownikow z roznymi uprawnienianimi do roznych tabel.

I teraz uzytkownik bazy danych to nie to samo co uzytkownik twojej aplikacji. Twoja aplikacja ma sie laczyc do bazy danych ciagle i tym samym uzytkownikiem bazy danych niezaleznie jaki uzytkownik twojej aplikacji aktualnie ja odpala.

Tutaj tez wychodzi chyba kolejny problem twojej aplikacji ze korzystasz z dwoch baz danych. Jedna dla jakiejs konfiguracji a druga do czegos innego. Po co? Czemu hasla uzytkownikow twojej aplikacji trzymasz innej bazie?

Napisany przez: Majkelphp 7.06.2018, 15:18:15

To jest strona, której ja nie robiłem. Po prostu chciałem pomóc koledze a zaszkodziłem. A więc sprawa wygląda tak, że jest dwóch użytkowników i dla jednego z nich zmieniłem hasło. Teraz wchodząc na stronę, pojawia się komunikat, który podałem wcześniej. Dla obu użytkowników po zalogowaniu w panelu MySQL dostępne są inne tabele. Da się z tego jakoś wybrnąć?

Napisany przez: Pyton_000 8.06.2018, 07:01:50

ustawić nowe hasło dla tego usera bazy które zmieniłeś do konfiguracji CMS

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)