Hier werden einige nützliche Befehle beschrieben, die man in der MySQL-CLI verwenden kann.
Mit dem Befehl
SHOW ENGINES;
kann überprüft werden welche Datenbank-Engines die MySQL-Server installation verwenden kann. Beispiele sind: InnoDB, MYISAM, CSV,…
show status where variable_name = 'threads_connected';
oder
show processlist;
oder
select id, user, host, db, command, time, state, info from information_schema.processlist;
oder
SELECT * FROM information_schema.processlist WHERE `USER` = '<USERNAME>';
CREATE DATABASE <DATABASENAME> CHARACTER SET [CHARACTERSET|utf8mb4] COLLATE [COLLATION|utf8mb4_0900_ai_ci];
CREATE USER '<USERNAME>'@'[<HOSTNAME>|localhost|%]' IDENTIFIED BY '<PASSWORD>';
SELECT USER FROM mysql.user;
ALTER USER '<USERNAME>'@'[<HOSTNAME>|localhost|%]' IDENTIFIED BY 'auth_string';
SET PASSWORD = '<NEUES_PASSWORD>';
DROP USER '<USERNAME>'@'[<HOSTNAME>|localhost|%]';
GRANT ALL ON [<DATABASENAME.TABLENAME>|*.*] TO '<USERNAME>'@'[<HOSTNAME>|localhost|%]' [WITH GRANT OPTION];
Die Option „WITH GRANT OPTION“ erlaubt es einem Benutzer selbst Änderungen an Benutzerobjekten vorzunehmen, natürlich muss er auch die jew. „DELETE,CREATE“ Rechte haben.
Noch ein Beispiel:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON [<DATABASENAME.TABLENAME>|*.*] TO '<USERNAME>'@'[<HOSTNAME>|localhost|%]';
SHOW GRANTS FOR '<USERNAME>'@'[<HOSTNAME>|localhost|%]';
REVOKE ALL PRIVILEGES, GRANT OPTION FROM '<USERNAME>'@'[<HOSTNAME>|localhost|%]';
danach Rechte wie oben wieder hinzufügen
FLUSH PRIVILEGES;
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Für das Backup sollte ein eigener Benutzer verwendet werden.
Folgender Befehl legt die entsprechenden nötigen Rechten an
GRANT SELECT, SELECT COLUMN_NAME, SHOW VIEW, LOCK TABLES, RELOAD, REPLICATION CLIENT ON *.* TO '<USERNAME>'@'[<HOSTNAME>|localhost|%]'; FLUSH PRIVILEGES;
Der Zugriff auf die Datenbanken ist standardmäßig nur vom localhost
erlaubt.
Damit Benutzer von anderen Hosts zugriff erhalten, muss man dies, wie oben bei den Benutzerrechten beschrieben, strikt erlauben.