Gebruikers (MySQL)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

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

Bronnen