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

De wikijoan
Salta a la navegació Salta a la cerca
m
Línia 1: Línia 1:
 +
=Referències=
 +
*https://www.mysqltutorial.org/mysql-grant.aspx
 
=Teoria=
 
=Teoria=
*https://www.mysqltutorial.org/mysql-grant.aspx
 
<pre>
 
 
Hem de connectar-nos al docker com a root.
 
Hem de connectar-nos al docker com a root.
  
 
Per saber quins usuaris hi ha a la base de dades:
 
Per saber quins usuaris hi ha a la base de dades:
 
+
<pre>
 
mysql> select User,Host from mysql.user;   
 
mysql> select User,Host from mysql.user;   
 
+------------------+-----------+
 
+------------------+-----------+
Línia 18: Línia 18:
 
| root            | localhost |
 
| root            | localhost |
 
+------------------+-----------+
 
+------------------+-----------+
 
+
</pre>
 +
Ja podem crear un usuari nou:
 +
<pre>
 
mysql> create user joan@localhost identified by 'password';
 
mysql> create user joan@localhost identified by 'password';
 
mysql> exit
 
mysql> exit
 
+
</pre>
I ara podem reconnectar-nos al docker amb el nou usuari:
+
I ara podem reconnectar-nos al mysql amb el nou usuari:
 
+
<pre>
 
$ docker exec -it mysql_m02bd mysql -u joan -ppassword
 
$ docker exec -it mysql_m02bd mysql -u joan -ppassword
 
+
</pre>
 
Però aquest usuari encara no pot fer res. No pot veure totes les bases de dades que hi ha:
 
Però aquest usuari encara no pot fer res. No pot veure totes les bases de dades que hi ha:
 
+
<pre>
 
mysql> show databases;
 
mysql> show databases;
 
+--------------------+
 
+--------------------+
Línia 34: Línia 36:
 
| information_schema |
 
| information_schema |
 
+--------------------+
 
+--------------------+
 
+
</pre>
 
Tornem a l'usuari root, i creem la base de dades ''joandb'':
 
Tornem a l'usuari root, i creem la base de dades ''joandb'':
 
+
<pre>
 
$ docker exec -it mysql_m02bd mysql -u root -p
 
$ docker exec -it mysql_m02bd mysql -u root -p
  
 
mysql> create database joandb;
 
mysql> create database joandb;
mysql> use joandb
+
mysql> use joandb (per comprovar que s'ha creat bé)
 
+
</pre>
 
I donem permisos a l'usuari joan per treballar amb aquesta nova base de dades:
 
I donem permisos a l'usuari joan per treballar amb aquesta nova base de dades:
 
+
<pre>
 
mysql> grant all privileges on joandb.* to joan@localhost;
 
mysql> grant all privileges on joandb.* to joan@localhost;
 
mysql> exit
 
mysql> exit
 
+
</pre>
 +
Tornem a connectar-nos amb l'usuari ''joan'':
 +
<pre>
 
$ docker exec -it mysql_m02bd mysql -u joan -ppassword
 
$ docker exec -it mysql_m02bd mysql -u joan -ppassword
 
+
</pre>
 
I ara sí que veiem la nova base de dades:
 
I ara sí que veiem la nova base de dades:
 
+
<pre>
 
mysql> show databases;
 
mysql> show databases;
 
+--------------------+
 
+--------------------+
Línia 60: Línia 64:
  
 
mysql> use joandb
 
mysql> use joandb
 
+
</pre>
 
i creem una taula en aquesta base de dades. Inserim dades i fem una select:
 
i creem una taula en aquesta base de dades. Inserim dades i fem una select:
 
+
<pre>
 
create table lists(
 
create table lists(
 
id int auto_increment primary key,
 
id int auto_increment primary key,
Línia 72: Línia 76:
  
 
select * from lists;
 
select * from lists;
 
+
</pre>
 
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).
 
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).
  
</pre>
 
 
{{Autor}}, febrer 2022
 
{{Autor}}, febrer 2022

Revisió del 09:29, 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