Inici Configuració MySQL a WSL2
Entrada
Cancelar

Configuració MySQL a WSL2

En aquesta entrada hi aniré recopilant les comandes que més utilitzi relacionades amb la base de dades MySQL.

Part de les idees han estat extretes d’(aquest blog)[https://saisuman.org/blog/chromium-in-wsl2].

Versions

  • MySQL 8.0.33
  • Ubuntu 20.04

WSL

Una cosa important és systemd està suportat per WSL. Sinó utilitzem systemd haurem d’executar la base de dades com a servei i crec que és més engorrós ja que per defecte l’Ubuntu natiu l’utilitza i requereix menys configuració per disposar de les mateixes funcionalitats.

Per utilitzar systemd simplement agreguem la següent configuració al fitxer /etc/wsl.conf.

1
2
[boot]
systemd=true

Un cop aplicada la configuració reiniciem les instàncies de WSL executant wsl.exe --shutdown des de Powershell. Aquest link ho explica millor.

MySQL

Desinstalar

  1. Desinstal·lem MySQL
  2. Esborrem els directoris relacionats
  3. Eliminem dependències
  4. Verifiquem que s’hagi eliminat del sistema completament i que partim d’un estat net
  5. Reiniciem
1
2
3
4
5
6
sudo apt-get remove --purge *mysql* &&
sudo apt-get remove --purge *mariadb* &&
sudo apt remove mysql-client mysql-server -y &&
sudo rm -rf /etc/mysql /var/lib/mysql &&
sudo apt-get autoremove &&
dpkg -l | grep mysql

Instalar

  1. Actualitzem repositori
  2. Instalem servidor MySQL
  3. (RoR) Instalem llibreria per la gema de connexió
  4. Iniciem el servei
  5. Verifiquem que s’està executant correctament
1
2
3
4
5
6
sudo apt update &&
sudo apt install mysql-server &&
sudo apt-get install libmysqlclient-dev &&
mysql --version &&
sudo service mysql start &&
sudo service mysql status

Si s’han seguit els passos correctament ja hauríem de tenir el MySQL instal·lat i executant-se.

Configurar

Falta executar el mysql_secure_installation però abans cal establir cal que s’estableixi una contrasenya per defecte en el root perquè per defecte en Ubuntu aquest no en té hi quan te la demani entrarà en bucle i hauràs de reiniciar el terminal.

1
2
sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

A partir d’aquí si estem en Ubuntu en Linux natiu no hi hauria d’haver problema però al estar en un entorn virtualitzat hi ha un error: la comanda mysql no funciona si no s’especifica el host explicítament o es crida amb permisos de superusuari. Suposo que en un futur no caldrà però en el meu cas he hagut d’indicar-li el host explicítament.

1
mysql_secure_installation -h 127.0.0.1

Crear usuari

Finalment anem a crear l’usuari mysql que utilitzarem per connectar-nos-hi des d’un servei extern.

1
2
3
4
sudo mysql
mysql> CREATE USER 'atp'@'localhost' IDENTIFIED BY 'new_password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'atp'@'localhost';
mysql> FLUSH PRIVILEGES;

En teoria ja hauria d’estar instal·lat i configurat correctament. Cal tenir en compte que rails no s’executa en superusuari, i per tant se li haurà d’indicar el host a la comanda que utilizi per connectar-s’hi.

Aquesta entrada està llicenciada sota CC BY 4.0 per l'autor.

TO DO - DONE

Running Rails