---
# System prepended metadata

title: mysql survival kit

---

# mysql survival kit
#### ... o com començar a treballar de manera elegant amb mysql en entorn client-servidor


### 0) SERVER - descarregar a /tmp el fitxer de creació i població de la bbdd.
```
wget https://raw.githubusercontent.com/nayosx/Northwind/master/Northwind.MySQL5.sql -O /tmp/nw.sql
```

### 1) SERVER - instal·lar si cal mysql
```
sudo apt install -y mysql-server
```

### 2) SERVER - iniciar amb password: (sí, va tot junt) :cat:
```
sudo mysql -pAsdfg1234%
```

### 3) SERVER - mostrar les bbdd actuals
```
show databases;
```

### 4) SERVER -  sortir i crear i poblar la bbdd
```
sudo mysql -pAsdfg1234% -e 'source /tmp/nw.sql'
```

### 5) SERVER -  comprovar que tot està correcte
```
sudo mysql -pAsdfg1234% -e 'show databases'
```

### 6) SERVER -  modificar el fitxer de configuració del server pq accepte peticions remotes
```
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# fer els canvis següents
bind-address		= 0.0.0.0
mysqlx-bind-address	= 0.0.0.0
##bind-address		= 127.0.0.1,10.35.159.30
##mysqlx-bind-address	= 127.0.0.1,10.35.159.30
```

### 7) SERVER -  aplicar canvis
```
sudo systemctl restart mysql
```

### 8)***!! AL CLIENT !!*** - configurar el client per no haver de posar la password
```
mysql_config_editor set --login-path=lxc3 --host=10.35.159.113 --user=joan2 --password
```
**PD: comporvar que s'està al home directory :+1:** 

### 9) SERVER -  crear el compte amb el que accedir (millor si no accedeixes amb el meu nom :smile: )
```
CREATE USER 'joan2'@'10.35.159.%' IDENTIFIED WITH mysql_native_password BY 'Qwerty1234%';
GRANT ALL PRIVILEGES ON *.* TO 'joan2'@'10.35.159.%';
FLUSH PRIVILEGES;
```

### 10) ***!! AL CLIENT !!*** -  ja posats... (crear un alias)
```
alias my2='mysql --login-path=lxc3 northwind'
my2 -e 'select * from Orders;'
```
**NOTA: el login-path és el perfil (per si tens diversos) per accedir al servidor de bases de dades**

### links de referència
(9) https://www.digitalocean.com/community/tutorials/how-to-allow-remote-access-to-mysql
(6) https://phoenixnap.com/kb/mysql-remote-connection
(0) https://raw.githubusercontent.com/nayosx/Northwind/master/Northwind.MySQL5.sql
(0) https://github.com/nayosx/Northwind
(8) https://www.prisma.io/dataguide/mysql/tools/mysql-config-editor

# BONUS
## Xuletillas :heart_eyes_cat: 
https://quickref.me/mysql
(9**) https://devhints.io/mysql