Iniciar el servei MySQL o MariaDB
sudo service mysqld start
sudo systemctl start mariadb
Configurar la contrasenya de root (primer cop)
/usr/libexec/mysql55/mysqladmin -u root password 'nova-contrasenya' /usr/libexec/mysql55/mysqladmin -u root -h nom-del-servidor password 'nova-contrasenya'
Connexió a la base de dades
Connexió local com a root:
mysql -h localhost -u root -p
O si utilitzes MariaDB i vols accedir com a superusuari directament:
sudo mariadb
Connexió a una base de dades remota (exemple amb RDS d’AWS):
mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p
Ordres bàsiques de MySQL
- Llistar bases de dades:
mysql> SHOW DATABASES;
- Crear una base de dades:
mysql> CREATE DATABASE nom_de_la_base_de_dades;
- Seleccionar una base de dades per treballar-hi:
mysql> USE nom_de_la_base_de_dades;
- Llistar taules d’una base de dades:
mysql> SHOW TABLES;
- Descripció de l’estructura d’una taula:
mysql> DESCRIBE nom_de_la_taula;
- Mostrar la creació d’una taula (inclou claus foranes):
SHOW CREATE TABLE `nom_de_la_taula`;
Comandes d’exemple per crear i consultar dades
mysql> CREATE TABLE proves (id INT); mysql> INSERT INTO proves (id) VALUES (1), (2), (3); mysql> SELECT * FROM proves; [/shell> <h3>Eliminar una base de dades</h3> [shell]DROP DATABASE nom_de_la_base_de_dades;
Sortir de la consola MySQL
quit
Importar i exportar bases de dades
- Importar un fitxer `.sql` a una base de dades:
sudo mysql -u root -p nom_de_la_base < /ruta/al/fitxer.sql
- Exportar una base de dades a un fitxer `.sql`:
sudo mysqldump -u root -p nom_de_la_base -r export.sql[/shell> <p>*Nota: es recomana `-r` en lloc de `>` per evitar problemes amb codificacions (accents, caràcters especials...)</p> </li> </ul> <h3>Gestió d’usuaris i permisos</h3> <ul> <li>Crear un usuari amb només accés de lectura: [shell] CREATE USER 'nou_usuari'@'localhost' IDENTIFIED BY 'contrasenya'; GRANT SELECT ON *.* TO 'nou_usuari'@'localhost'; FLUSH PRIVILEGES; - Concedir accés a una base de dades i taula des d’una IP concreta:
GRANT SELECT ON bd2025.pellicules TO 'extern'@'79.159.6.21' IDENTIFIED BY 'contrasenya' WITH GRANT OPTION; FLUSH PRIVILEGES;
- Consultar tots els privilegis actius:
SELECT * FROM mysql.tables_priv;
- Canviar l’IP associada a un usuari:
RENAME USER 'extern'@'79.159.6.21' TO 'extern'@'nova.ip.33.45';
- Revocar permisos:
REVOKE SELECT ON bd2025.pellicules FROM 'extern'@'79.159.6.21';
- Eliminar un usuari:
DROP USER 'extern'@'79.159.6.21';
Permetre l’accés remot a MariaDB (Debian 10/11)
- Edita el fitxer de configuració:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
- Canvia la línia següent:
bind-address = 127.0.0.1
per aquesta altra:
bind-address = 0.0.0.0
- Reinicia el servei:
sudo systemctl restart mysql.service sudo systemctl restart mariadb.service