Diferència entre revisions de la pàgina «Usuaris a MySQL»

De wikijoan
Salta a la navegació Salta a la cerca
Línia 1: Línia 1:
 
=Referències=
 
=Referències=
 
*https://www.mysqltutorial.org/mysql-create-user.aspx
 
*https://www.mysqltutorial.org/mysql-create-user.aspx
 +
*https://www.mysqltutorial.org/mysql-grant.aspx
  
 
=Teoria=
 
=Teoria=

Revisió del 15:19, 23 feb 2022

Referències

Teoria

Hem de connectar-nos al docker com a root.

Per saber quins usuaris hi ha a la base de dades:

mysql> select User,Host from mysql.user;  
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| alumne           | %         |
| alumne           | localhost |
| healthchecker    | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

Ja podem crear un usuari nou:

mysql> create user joan@localhost identified by 'password';
mysql> exit

I ara podem reconnectar-nos al mysql amb el nou usuari:

$ docker exec -it mysql_m02bd mysql -u joan -ppassword

Però aquest usuari encara no pot fer res. No pot veure totes les bases de dades que hi ha:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+

Tornem a l'usuari root, i creem la base de dades joandb:

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

mysql> create database joandb;
mysql> use joandb (per comprovar que s'ha creat bé)

I donem permisos a l'usuari joan per treballar amb aquesta nova base de dades:

mysql> grant all privileges on joandb.* to joan@localhost;
mysql> exit

Tornem a connectar-nos amb l'usuari joan:

$ docker exec -it mysql_m02bd mysql -u joan -ppassword

I ara sí que veiem la nova base de dades:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| joandb             |
+--------------------+

mysql> use joandb

i creem una taula en aquesta base de dades. Inserim dades i fem una select:

create table lists(
id int auto_increment primary key,
todo varchar(100) not null,
completed bool default false
);

insert into lists(todo) values('Learn MySQL');

select * from lists;

Resumint: l'usuari root ha creat una base dades nova, un usuari nou, i ha donat permisos a aquest usuari per treballar amb la base de dades. El nou usuari ja pot operar amb normalitat amb la nova base de dades (crear taules, fer inserts, fer selects).


creat per Joan Quintana Compte, febrer 2022