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.