Ga naar inhoud

🐬 Het mysql Commando in Linux

In deze handleiding leer je hoe je mysql gebruikt op een Linux-systeem.

Het commando mysql wordt gebruikt om de MySQL database server te beheren via de command-line.
MySQL is één van de populairste relationele databasesystemen, veel gebruikt voor webapplicaties zoals WordPress, Drupal en LAMP-stacks.

Achtergrondinformatie

MySQL is open-source en beheert gegevens in tabellen met SQL.

  • Het wordt vaak gebruikt samen met PHP, Apache/Nginx en andere webapplicaties.
  • Met mysql kun je queries uitvoeren, databases aanmaken, gebruikers beheren en backups maken.
  • mysql_secure_installation helpt om een nieuwe MySQL-installatie veilig te configureren.

Controleren of mysql aanwezig is

Controleer of MySQL geΓ―nstalleerd is:

mysql --version
Voorbeeldoutput
mysql  Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

βš™οΈ Installeren van mysql-server

MySQL kan worden geΓ―nstalleerd via de standaard pakketmanager.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install mysql-server

Voorbeeldoutput
mysql-server is already the newest version (8.0.33-0ubuntu0.25.04.1).

MySQL Secure Installation

mysql_secure_installation helpt om een nieuwe MySQL-installatie veiliger te maken:

  • Stel een root-wachtwoord in (voor MySQL 8+ vaak via auth_socket of caching_sha2_password)
  • Verwijder anonieme gebruikers
  • Schakel root login vanaf externe hosts uit
  • Verwijder testdatabases
  • Herlaad privilege-tabellen

Start het script:

sudo mysql_secure_installation

Voorbeeld interactie:

Securing the MySQL server deployment.

Enter password for user root:
VALIDATE PASSWORD COMPONENT can be used to test passwords.
Press y|Y for Yes, any other key for No: y
Please set the root password: ********
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Het script beveiligt de installatie en minimaliseert potentiΓ«le veiligheidsrisico's.

Hieronder vind je enkele veelgebruikte voorbeelden van mysql:

  • sudo mysql -u root -p β†’ Log in als root
  • SHOW DATABASES; β†’ Toon alle databases
  • CREATE DATABASE voorbeeld; β†’ Maak een nieuwe database aan
  • USE voorbeeld; β†’ Selecteer een database
  • SHOW TABLES; β†’ Toon tabellen in de geselecteerde database
  • EXIT; β†’ Sluit MySQL CLI af
Voorbeeld

sudo mysql -u root -p
Output:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.33 MySQL Community Server - GPL

Enkele belangrijke commando’s om gebruikers te beheren:

CREATE USER 'gebruiker'@'localhost' IDENTIFIED BY 'wachtwoord';
GRANT ALL PRIVILEGES ON database.* TO 'gebruiker'@'localhost';
FLUSH PRIVILEGES;
DROP USER 'gebruiker'@'localhost';

Tip

Vergeet niet altijd FLUSH PRIVILEGES; uit te voeren om wijzigingen actief te maken.

Belangrijke MySQL-configuratiebestanden:

  • /etc/mysql/my.cnf β†’ Hoofdconfiguratie
  • /etc/mysql/mysql.conf.d/mysqld.cnf β†’ Server-specifieke instellingen
  • /etc/mysql/conf.d/ β†’ Extra configuratiebestanden

Tip

Na wijzigingen in configuratiebestanden herstart je MySQL:

sudo systemctl restart mysql

Updaten van MySQL

Update MySQL via de pakketmanager:

sudo apt update
sudo apt install --only-upgrade mysql-server

Verwijderen van MySQL

Verwijder MySQL indien nodig:

sudo apt remove mysql-server

Optioneel verwijder ook configuratiebestanden:

sudo apt purge mysql-server
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql

πŸ“– Handleiding

De ingebouwde handleiding is beschikbaar via:

man mysql
Voorbeeld
MYSQL(1)                  MySQL Database Client                  MYSQL(1)

NAME
       mysql - The MySQL command-line tool for SQL statements

SYNOPSIS
       mysql [OPTIONS] [database]