Bij de oplevering van de server krijgt u de gebruikersgegevens van de MySQL administratieve- of beheersgebruiker. Met deze gebruiker beheert u databases en gebruikers. Het is voor de veiligheid van de applicatie van de server absoluut afgeraden de applicatie gebruik te laten maken van de beheersgebruiker. Mocht uw applicatie reeds gebruik maken van de beheersgebruiker, pas deze dan aan.
Om de applicatie toegang geven tot de data in MySQL maakt u een gebruiker aan voor uw applicatie met daarbij passende rechten en beperkingen.
Alle informatie over het aanmaken van gebruikers binnen MySQL vindt u op de officiële MySQL handleiding:
Een gebruiker aanmaken via de MySQL command-line (MySQL versie 5.7)
- Log in op de MySQL commandline:
$ mysql -u webdev -p
Hiervoor heeft u het wachtwoord van de MySQL beheersgebruiker nodig.
- Creëer de database waar de data in komt.
Het bijhouden welke database bij welke (versie van de) applicatie hoort is makkelijker door een verwijzing naar de applicatie in de databasenaam op te nemen. Als de database al bestaat kan u deze stap overslaan.mysql> create database databasenaam;
- Creëer de mysql user met rechten tot de database.
Het bijhouden welke gebruiker toegang heeft tot welke database is makkelijker door een verwijzing naar de database of applicatie in de gebruikersnaam op te nemen.
In deze stap geeft u aan van welke server de gebruiker een verbinding mag maken. Als de web- en databaseservice op dezelfde server staan kiest u “localhost”. Als er verbinding wordt gemaakt van een andere server geeft u het IP-adres op.
Kies een veilig wachtwoord voor MySQL. Het is niet erg als het wachtwoord lastig invoeren of onthouden is omdat het wachtwoord in de meeste gevallen in de applicatieconfiguratie kan worden opgenomen. Gebruik bijvoorbeeld de Random Password Generator om een lang wachtwoord te genereren.
In deze stap kent u tevens de rechten toe. Het is verstandig deze gebruiker zo min mogelijk beheersrechten te geven. Kies bijvoorbeeld voor het algemene usage:mysql> GRANT usage ON databasenaam.* TO "databasegebruiker"@"localhost" IDENTIFIED BY "strong_password";
of specificeer de rechten die de gebruiker binnen de applicatie nodig heeft. Voor WordPress is dit bijvoorbeeld:
mysql> GRANT delete, insert, select, update, create, alter, drop ON databasenaam.* TO "databasegebruiker"@"localhost" IDENTIFIED BY "strong_password";
- Laad de nieuw toegekende rechten in:
mysql> FLUSH PRIVILEGES;
- Sluit de MySQL commandline af:
mysql> exit;
Een gebruiker aanmaken via de MySQL command-line (MySQL versie 8)
- Log in op de MySQL commandline:
$ mysql -u webdev -p
Hiervoor heeft u het wachtwoord van de MySQL beheersgebruiker nodig.
- Creëer de database waar de data in komt.
Het bijhouden welke database bij welke (versie van de) applicatie hoort is makkelijker door een verwijzing naar de applicatie in de databasenaam op te nemen. Als de database al bestaat kan u deze stap overslaan.mysql> create database databasenaam;
- Creëer de mysql user.
Het bijhouden welke gebruiker toegang heeft tot welke database is makkelijker door een verwijzing naar de database of applicatie in de gebruikersnaam op te nemen.
In deze stap geeft u aan van welke server de gebruiker een verbinding mag maken. Als de web- en databaseservice op dezelfde server staan kiest u “localhost”. Als er verbinding wordt gemaakt van een andere server geeft u het IP-adres op.
Kies een veilig wachtwoord voor MySQL. Het is niet erg als het wachtwoord lastig invoeren of onthouden is omdat het wachtwoord in de meeste gevallen in de applicatieconfiguratie kan worden opgenomen. Gebruik bijvoorbeeld de Random Password Generator om een lang wachtwoord te genereren.
In deze stap kent u tevens de rechten toe. Het is verstandig deze gebruiker zo min mogelijk beheersrechten te geven. Kies bijvoorbeeld voor het algemene usage: - CREATE USER ‘databasegebruiker’@’localhost’ IDENTIFIED BY ‘strong_password’;
- Geef de aangemaakte gebruiker rechten tot de database:
- GRANT ALL PRIVILEGES ON databasenaam.* to ‘databasegebruiker’@’LOCALHOST’ with grant option;
- of specificeer de rechten die de gebruiker binnen de applicatie nodig heeft. Voor WordPress is dit bijvoorbeeld:
- GRANT delete, insert, select, update, create, alter, drop ON databasenaam.* TO “databasegebruiker”@”localhost” IDENTIFIED BY “strong_password”;
- Laad de nieuw toegekende rechten in:
- FLUSH PRIVILEGES;
Een nieuwe gebruiker aanmaken via phpmyAdmin
- Log in op phpMyAdmin
- Kies aan de zijkant voor de database waarvoor u de gebruiker wilt aanmaken of kies bovenin het scherm voor Databases en “Create Database”
- Kies bovenin het scherm voor “Privileges”
- Kies “Add user”
- Kies een gebruikersnaam.
Het bijhouden welke gebruiker toegang heeft tot welke database is makkelijker door een verwijzing naar de database of applicatie in de gebruikersnaam op te nemen. - Geef op van welke server de gebruiker een verbinding mag maken.
Als de web- en databaseservice op dezelfde server staan kiest u “localhost”. Als er verbinding wordt gemaakt van een andere server geeft u het IP-adres op. - Kies een veilig wachtwoord voor MySQL.
Het is niet erg als het wachtwoord lastig invoeren of onthouden is omdat het wachtwoord in de meeste gevallen in de applicatieconfiguratie kan worden opgenomen. Gebruik bijvoorbeeld phpMyAdmin’s “Generate” knop of de Random Password Generator om een lang wachtwoord te genereren. - Vink aan ‘Grant all privileges on database “databasename”‘
- Kies “Go”
- Kies eventueel “Edit privileges” om toegekende rechten te verminderen.