MySQL

Datenbank in UTF8 anlegen

CREATE DATABASE gris_model CHARACTER SET UTF8mb4 COLLATE utf8mb4_unicode_ci;

User initial einrichten

CREATE USER 'gris'@'localhost' IDENTIFIED BY '*****';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, SHOW VIEW ON *.* TO 'gris'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE, SHOW VIEW, CREATE, ALTER, REFERENCES, INDEX, CREATE ROUTINE, ALTER ROUTINE, DROP, GRANT OPTION, LOCK TABLES ON `gris_model`.* TO 'gris'@'localhost' WITH GRANT OPTION;

MySQL-Dump

Es empfiehlt sich, sowohl im Produktiv- als auch im Testbetrieb regelmäßig Backups zu erstellen. Die einfachste Möglichkeit ist die Dump-Funktion von MySQL.

Optional können die Befehle mittels eines Shellskriptes und Cron (auf Linux) bzw. via Batch-Datei und dem Taskplaner (Windows) regelmäßig ausgeführt werden. Üblich ist dabei die Aufteilung in tägliche, wöchentliche und Monatliche Backups.

Gesamte DB

mysqldump -u### -p### --all-databases --result-file=/###path###/full_dump.sql

Nur GRIS DB

mysqldump -u### -p### --database gris_model --result-file = /###path###/gris_model_single_dump.sql

DB-Update

Zum Updaten der Datenbank auf die aktuelle Version reicht der Aufruf von

http(s)://[GRIS-SERVER]/tools/update_db.php?key=###

In der Tabelle gris_settings ist unter der gris_settings_group database als Schlüssel gris_settings_key version die aktuelle DB-Version hinterlegt. Jeder Update aktualisiert auch die Versionsnummer auf die installierte Version.

Collation für die Datenbank anzeigen

SHOW CREATE DATABASE gris_model;

Collation für die Tabellen anzeigen

SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES;

Collation für alle Tabellen ändern

SET foreign_key_checks = 0;

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE utf8mb4_unicode_ci;")
AS ExecuteTheString
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="gris_model"
AND TABLE_TYPE="BASE TABLE";

SET foreign_key_checks = 1;

Hinweis

Das SQL-Skript oben erstellt nur eine Liste der Befehle, ohne sie auszuführen. Diese müssen dann kopiert und ausgeführt werden.