| Adi1987 a întrebat:

Stie cineva cum se poate instala o baza de date mysql pe Linux? Sa poti intra in phpmyadmin dintr-un browser

21 răspunsuri:
suntserios
| suntserios a răspuns:

Pai in primul rand trebuie sa ai acces la server sa instalezi serverul e mysql daca hostingul nu iti pune la dispozitie deja un server de mysql.

Apoi phpmyadmin este doar o interfata prin care poti interoga datele din serverul de mysql. Trebuie sa il conectezi la acel server daca asta te intereseaza pe tine si anume sa vezi datele din phpmyadmin.

| doctorandus a răspuns:

Pe apache sau nginx trebuie sa modifici websiteul astfel incat sa acceseze baza de date.

In primul rand websiteul trebuie sa fie public. Verifica faptul ca websiteul e accesibil de catre altii. In al doilea rand trebuie sa scrii cod care face operatiuni cu baza de date. Nu poti cupla direct un website care nu cunoaste baze de date la un server mysql. Adica nu-l poti cupla fara a modifica nimic din website.

Daca faci asta in php, atunci trebuie sa scrii cod php care este "vizibil" pe website (publicat in cadrul websiteului, prin interpretor, desi aia care-l acceseaza habar n-au de asta).

Deci serverul trebuie sa aiba apache/nginx, php si mysql. Nu merge in mod magic (taca-paca) ai instalat php si mysql iar websiteul afla singur de ele. Daca nu scrii cod php si nu-l publici pe website, websiteul nu afla ca ele exista pe server. Adica browserul alora care-ti acceseaza websiteul trebuie sa citeasca de pe website cod care trimite la serverul (procesul) php. Browserul nu intelege php, el citeste doar rezultatul oferit de procesul php. Codul php este interpretat pe server, iar rezultatul interpretarii este trimis la browser.

Deci websiteul trebuie sa redea rezultatul interpretorului de php. Posibilitatea pentru asta trebuie inserata in html.

Pe scurt: codul html din procesul apache/nginx trimite la procesul php, iar procesul php trimite mai departe la procesul mysql. Browserul alora nu vede decat ce-i trimite apache/nginx.

Un proces care ruleaza pe fundal se numeste demon. Deci poti sa-i zici proces sau demon, tot aia e.

| Adi1987 explică (pentru doctorandus):

In.php sunt puse datele bazei mysql, este site-ul asta care ofera baza de date mysql gratis si am pus in.php datele bazei mysql care sunt apar aici pe site-ul asta si nu, nu merge, nu da nicio eroare

https://www.freesqldatabase.com/freemysqldatabase/

| doctorandus a răspuns (pentru Adi1987):

Si? De unde stie apache/nginx ca ai instalat php? Trebuie sa scrii cod html care trimite la procesul php.

| Adi1987 explică (pentru doctorandus):

Dar ce cod trebuie?

| doctorandus a răspuns (pentru Adi1987):

Eu ti-am explicat legatura intre apache/nginx, php si mysql, la nivel de administrator de sistem (ca la asta ma pricep). Dar eu n-am scris niciodata cod html care cheama php, asa ca la asta nu ma pricep. Adica stiu ca trebuie sa-l scrii, dar nu ma pricep cum sa-l scrii. Cauta pe Google.

| doctorandus a răspuns (pentru Adi1987):

De exemplu e o diferenta intre "Stiu ca trebuie sa ti se faca o injectie" si "Stiu sa fac injectii".

| doctorandus a răspuns (pentru Adi1987):

Pentru php adresa e 127.0.0.1 iar portul este 8000.

Pentru mysql adresa e 127.0.0.1 iar portul este 3306.

| Adi1987 explică (pentru doctorandus):

Site-ul este public il poate accesa lumea

| Frank51 a răspuns:

Nu poți intra în baza de date dintr-un browser extern, ca să accesezi baza de date ai nevoie de un server care "ascultă" metode de GET, POST.

Pe linux trebuie să instalezi un serviciu de baze de date( mongo de exemplu), și apoi trebuie să pornești un server (de exemplu express). Pe acel server pornit, ai metode de get post. Când tu faci un request de pe un browser extern, serverul îți răspunde.

Dacă vrei de fapt altceva, fi mai coerent.

| Adi1987 explică (pentru Frank51):

Iti instaleaza baza de date mysql si asa daca scrii "sudo apt install phpmyadmin" dar aia cred ca e doar pe localhost si nu cred ca merge asa

| Adi1987 explică (pentru Frank51):

Folosesc linux, si am acolo pe linux un site hostat si e public il poate accesa lumea si site-ul ala vreau sa il conectez la o baza de date mysql

| Frank51 a răspuns (pentru Adi1987):

Tot vei avea nevoie de un server, nu poți conecta nimic dacă nu ai un server. Poate să fie unul făcut de tine, cum am mai spus express, sau instalezi un xamp.

Orice metodă alegi tot ai nevoie să scrii cod pentru operațiuni CRUD direct în server.

Eu așa mă conectez la mongo din server:

let db;
client
. connect()
. then(() => {
db = client.db("nume_baza-de_date");
console.log("Connected to MongoDB!");
})
. catch((err) => {
console.error("Failed to connect to MongoDB", err);
});

După ce sunt conectat îți dau un exemplu de rută pe care faci request:

app.get("/getUserInfo", async (req, res) => {
try {
const token = req.headers.authorization? split(" ")[1]; // Get token from the Authorization header
if (! token) {
return res.status(403).json({ message: "No token provided" });
}

const decoded = jwt.verify(token, process.env. JWT_SECRET);
const userId = new ObjectId(decoded.userId);

const user = await db.collection("users").findOne({ _id: userId });

if (! user) {
return res.status(404).json({ message: "User not found" });
}

res.status(200).json({ user });
} catch (err) {
console.error("Error fetching user info:", err);
res.status(500).json({ message: "Server error" });
}
});

Faci request pe localhost3000/getUserInfo, și serverul se bagă în baza de date și îți scoate informațiile utilizatorilor, și ți le întoarce ca response. Ca exemplu.

| Dragosstpu a răspuns:

Eu folosesc MariaDB (fork free and open source al lui mysql). Se intaleaza folosind 'sudo apt install mariadb-client mariadb-server', daca folosesti o distributie care foloseste apt, cum sunt cele bazate pe Debian/Ubuntu.

| Adi1987 explică (pentru Dragosstpu):

Cum pot sa folosesc o baza de date mysql pe Linux?

| Dragosstpu a răspuns (pentru Adi1987):

Iti recomand tuturialul mysql de pe w3schools. Sau daca vrei ceva scurt si concis, cauta mysql cheat sheet pe internet.

| Alexbw a răspuns:

Salut, e chiar simplu. Un exemplu pentru ubuntu ar fi "apt install mysql sau apt install mariadb"
Apoi apt install phpmyadmin pentru phpmyadmin. Also trebuie sa te asiguri ca ai apache sau nginx instalat ca sa ti se poata afisa pagina.

| Adi1987 explică (pentru Alexbw):

Am pus, dar nu stiu ce are nu prea merge, ori nu stiu ce mai trebuie instalat am incercat sa accesez cu localhost/phpmyadmin si nu imi da nimic imi zice ''error not found''

| Adi1987 explică (pentru Alexbw):

Daca am un site hostat acolo pe Linux si este public il poate accesa si eu vreau sa il conectez la o baza de date mysql externala de pe un site de pe internet nu merge, nu?

| Alexbw a răspuns (pentru Adi1987):

Ba da, functioneaza, banuiesc ca acel server linux este gazduit de tine acasa? Sau la o firma de hosting?