Gebruikers (MySQL)
Versie door Jeroen Strompf (overleg | bijdragen) op 7 mei 2018 om 16:49
Wat ik meestal zoek:
grant all on mijn_db.* to mijn_user@localhost identified by 'mijn_wachtwoord';
mijn_db.*
- Alle objecten van de betreffende database- Wachtwoord moet tussen haakjes staan. Overige haakjes optioneel.
Rechten inzien
De rechten per gebruiker worden bijgehouden in tabel mysql.user
. Deze tabel is meestal te groot om goed te kunnen zien via de mysql-client. Wellicht handiger:
select Host, User from mysql.user; +-----------+------------------+ | Host | User | +-----------+------------------+ | localhost | debian-sys-maint | | localhost | kbb3 | | localhost | kbb_2_ | | localhost | kbb_2_2 | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+------------------+
grant-privileges aan een gebruiker toekennen
Wat in ieder geval werkt (ingelogd via sudo mysql
):
update mysql.user set grant_priv="Y" where User like "konijn";
En om het zeker te weten:
select Grant_priv from mysql.user where User like "root" or User like "konijn";
Probleem met inloggen in een verse instantie?
Probeer
sudo mysql -u root -p
Inloggegevens onthouden
Werkt fantastisch, en dankzij aanpassen bestandspermissies, valt het beveiligingsprobleem mee:
Create a file named .my.cnf in your home directory that looks like this. Make sure the filesystem permissions are set such that only the owning user can read it (0600). [client] host = localhost user = username password = thepassword socket = /var/run/mysqld/mysqld.sock #database = mysql