> For the complete documentation index, see [llms.txt](https://docs.ititanhosting.ro/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ititanhosting.ro/docs/romana/vps/windows/cum-instalezi-mysql-pe-windows-server.md).

# Cum instalezi MySQL pe Windows Server

MySQL este unul dintre cele mai populare sisteme de baze de date. Functioneaza bine cu aplicatii web, servere de joc si platforme CMS precum WordPress. Iata cum il instalezi pe VPS-ul tau Windows.

### Pasul 1: Descarca MySQL Installer

1. Deschide browserul pe VPS
2. Mergi la [dev.mysql.com/downloads/installer](https://dev.mysql.com/downloads/installer/)
3. Descarca **MySQL Installer for Windows** (versiunea web este suficienta, descarca ce trebuie singur)

### Pasul 2: Ruleaza installer-ul

1. Double-click pe fisierul descarcat
2. Accepta termenii licentei
3. Alege **Developer Default** daca vrei sa includa si MySQL Workbench, sau **Server only** pentru o instalare minimala
4. Da click pe **Next** si apoi pe **Execute** pentru a descarca pachetele necesare

### Pasul 3: Configureaza MySQL Server

Dupa ce pachetele se instaleaza, se deschide wizard-ul de configurare:

1. **Type and Networking:** Pastreaza setarile implicite (Standalone MySQL Server, TCP/IP pe port 3306)
2. **Authentication Method:** Alege **Use Strong Password Encryption**
3. **Accounts and Roles:** Seteaza o parola **puternica** pentru root. Scrie-o, vei avea nevoie de ea
4. **Windows Service:** Pastreaza bifat **Configure as Windows Service**. Seteaza sa porneasca automat
5. Da click pe **Next** si apoi pe **Execute** pentru a aplica configuratia

### Pasul 4: Verifica instalarea

Deschide Command Prompt sau PowerShell:

```powershell
mysql --version
```

Ar trebui sa vezi versiunea MySQL. Acum testeaza logarea:

```powershell
mysql -u root -p
```

Introdu parola de root. Daca primesti promptul `mysql>`, totul functioneaza.

Tasteaza `exit` pentru a iesi din promptul MySQL.

### Pasul 5: Creaza o baza de date si un utilizator

Din promptul MySQL, creaza o baza de date pentru aplicatia ta:

```sql
CREATE DATABASE myapp_db;

CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'parola_ta';

GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';

FLUSH PRIVILEGES;

EXIT;
```

### Pasul 6: Permite conexiuni remote (optional)

Daca ai nevoie sa te conectezi la MySQL de pe alt calculator:

1. Deschide fisierul de configurare MySQL:

```
C:\ProgramData\MySQL\MySQL Server X.Y\my.ini
```

2. Gaseste linia:

```
bind-address = 127.0.0.1
```

3. Schimba-o in:

```
bind-address = 0.0.0.0
```

4. Salveaza fisierul si reporneste MySQL:

```powershell
net stop MySQL80
net start MySQL80
```

5. Acorda acces remote utilizatorului tau:

```sql
CREATE USER 'myapp_user'@'%' IDENTIFIED BY 'parola_ta';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'%';
FLUSH PRIVILEGES;
```

6. Deschide portul 3306 in Windows Firewall:

```powershell
netsh advfirewall firewall add rule name="MySQL Port 3306" dir=in action=allow protocol=TCP localport=3306
```

Pentru mai multa securitate, inlocuieste `'%'` cu o adresa IP specifica.

### Folosirea MySQL din PowerShell

Exporta o baza de date:

```powershell
mysqldump -u root -p myapp_db > C:\backup\myapp_db.sql
```

Importa o baza de date:

```powershell
mysql -u root -p myapp_db < C:\backup\myapp_db.sql
```

### Probleme comune

**"Serviciul MySQL nu porneste"** Deschide Event Viewer si verifica log-urile aplicatiei pentru mesaje de eroare MySQL. Cauze comune includ conflicte de port sau configuratie incorecta.

**"Access denied"** Asigura-te ca folosesti numele de utilizator si parola corecte. Daca ai uitat parola de root, o poti reseta pornind MySQL cu optiunea `--skip-grant-tables`.

**Portul 3306 nu este accesibil** Verifica ca Windows Firewall permite conexiuni inbound TCP pe portul 3306. Verifica si cu providerul de hosting daca portul nu este blocat la nivel de retea.

### Comenzi utile

```powershell
# Porneste serviciul MySQL
net start MySQL80

# Opreste serviciul MySQL
net stop MySQL80

# Verifica starea serviciului MySQL
sc query MySQL80
```

### Concluzie

MySQL este instalat si gata de utilizare. Ai acum un server de baze de date complet pe VPS-ul tau Windows, pregatit pentru aplicatii web, servere de joc sau orice alt proiect care are nevoie de o baza de date.
