Entrar al mysql del docker com a root

De wikijoan
Salta a la navegació Salta a la cerca

T1. Introducció

Fins ara has entrat al docker amb l'usuari alumne, que té tots els permisos sobre les bases de dades de treball (els permisos estan definits en el script /etc/privilegis.sql).

Per tal de crear una base de dades nova es necessita permís de root. Anem a veure com es fa.

Canviar el password del root

Per saber el password del root:

$ docker logs mysql_m02bd 2>&1 | grep GENERATED
[Entrypoint] GENERATED ROOT PASSWORD: zuE#2PK;/5c^1Of94.nIqo6%%CMk_8T8

I ara que ja sabem el password del root, hem d'entrar a dins del mysql i canviar el password:

$ docker exec -it mysql_m02bd mysql -u root -p

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; (aquí posaràs el password que tu vulguis)
mysql> exit
bash-4.4 # exit

Tornem a entrar, directament al mysql amb el nou password:

$ docker exec -it mysql_m02db mysql -uroot -p*****
mysql>

Ara ja tens permisos de CREATE DATABASE

CREATE DATABASE

La instrucció bàsica per crear una base de dades nova (un esquema) és:

CREATE DATABASE nom_bd DEFAULT CHARACTER SET utf8;

Utilitzant la codificació UF-8 ens assegurem de què no tindrem problemes amb els accents.

La informació completa del create database a la documentaciói oficial d'Oracle és:


creat per Joan Quintana Compte, desembre 2021