Hogyan lehet megoldani a PHP-ből mysqli_connect -tel való kapcsolódás közben felmerült - alább vázolt - problémát?
Peremfeltételek:
- most kezdtem ezzel foglalkozni, így teljesen kezdő vagyok e témában
- oprendszer: Lubuntu 18.04 LTS
- Lamp-ot telepítettem
- php.ini -t elvileg bekonfiguráltam úgy, hogy működjön a kérés tárgyát képező dolog, mégsem működik.
- Készítettem egy "tesztelő" parancsfájlt is, ami alább látható:
<?php
$dbc = mysqli_connect("localhost", "root", "root_jelszavam", "teszt") or die("Nincs kapcsolodas.");
mysql_close($link);
?>
(Természetesen az sql terminálban legyártottam a teszt nevű adatbázist és php.ini módosítása után újraindítottam a szervert, de továbbra is csak azt az üzenetet kapom, hogy "Nincs kapcsoldas.")
Napok óta nézegetek mindenfelé megoldások után, de eddig egyik találat sem hozott eredményt, s több időm meg egyszerűen nincs már ez ügyben keresgélni.
Ha ebből akarnék megélni, akkor más lenne a helyzet, de így, hogy "csak" érdekel, sajnos nem fér bele több vajúdás, mert akkor meg a munkámmal csúszok. Ezért jöttem ide, feltenni ezt a kérdést, hátha valakinek van ötlete.
Előre is köszönöm annak, aki megtámogat egy javaslattal!
port nyitva, tűzfal nem blokkolja
parancssorból tudsz csatlakozni?
1 A közölt forráskód helyett használd a php.net-en található példakódot:
abban van hibakezelés is.
2. Napló mit mond?
/var/log/apache2/...
/var/log/mysql...
3. Parancssorból sikeresen csatlakozol a "teszt" adatbázishoz?
mysql -u root -proot_jelszavam teszt
A php.net -es példakód hatására az alábbi szöveg jelenik meg a böngészőben:
Error: Unable to connect to MySQL. Debugging errno: 1698 Debugging error: Access denied for user 'root'@'localhost'
Az apache accaes.log fájljának vonatkozó bejegyzése:
::1 - - [12/Nov/2018:21:28:53 +0100] "GET /dbtest.php HTTP/1.1" 200 372 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/70.0.3538.77 Chrome/70.0.3538.77 Safari/537.36"
Az access.log.1 -ben ilyen időponttal nem látok semmit.
Az error.log -jában pedig ez olvasható:
[Mon Nov 12 21:28:53.711854 2018] [php7:warn] [pid 665] [client ::1:57578] PHP Warning: mysqli_connect(): (HY000/1698): Access denied for user 'root'@'localhost' in /var/www/html/dbtest.php on line 2
Tehát, ahogy sejthető, a második sorban
("$link = mysqli_connect("127.0.0.1", "root", "alfa137", "test");") beüt a bibi, mert meg van tagadva a hozzáférés a root@localhost-os user-től, vagyis tőlem.
Az error.log.1 -ben még ez olvasható:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Itt nem értem, miért "using 127.0.1.1." -et ír. 127.0.0.1 -et írtam be a kódba a host -hoz. De lehet, hogy nekem nem világos valami (nagyon lehet :) ).
A mysql az error.log -jának idevágó része:
2018-11-12T20:28:53.711521Z 2 [Note] Access denied for user 'root'@'localhost'
(Ami nem újdonság.)
Még esetleg ez érdekes lehet: Version: '5.7.24-0ubuntu0.18.04.1' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
A mysql -u root -p rendben van. Terminálból mindent megcsinál, amit csak ismerek az sql parancsok közül.
Közben használtam innen az option1-et:
Annyi változott, hogy most már ez jelenik meg a böngészőmben:
Error: Unable to connect to MySQL. Debugging errno: 1524 Debugging error: Plugin 'itt_a_megadott_jelszavam_áll' is not loaded
Ja, igen.. már a terminálba sem tudok belépni.
A 3. éjszakám ment már rá, így hiába érdekel, hagynom kell az egészet a fenébe, mert a "normál" munkámmal csúszok el.... úgyhogy köszönöm mindenkinek a válaszokat, de inkább hagyom az egészet a @@@@-ba és megyek vissza win-re, mert ott működik a xampp és tudom tanulni azt, ami a webprog-ból érdekel.
Azt mindenesetre láttam, hogy rohadt sokan futottak bele ilyen jellegű nehézségbe az elmúlt tíz évben és kicsit elveszi az ember kedvét, hogy 10 év alatt nem kezdtek ezzel már valamit. Valszeg, akkor már eztán se fognak. Úgyhogy itt lett elegem az egészből...
Végül, mivel odáig fajult a helyzet, hogy parancssorban sem tudtam belépni a terminálba már épp az "uninstall"-on gondolkodtam, s amikor ennek adekvát módjára rákerestem, a sokadik találat címe ez volt "How to reset root MySQL password on Ubuntu 18.04 Bionic Beaver".
Gondoltam, megér egy utolsó próbát.
A link alatti írás hosszabbik javaslata - Reset by using skip-grant-tables - működött végül:
Miután végrehajttattam a leírt direktívát, rögtön be lehetett lépni a terminálból is és a PHP parancsfálj is sikeresen kapcsolódott.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!