====== Information ====== * MariaDB ((https://mariadb.org/about)) * [[Information:Realm of Espionage]] ===== References ===== * https://mariadb.com/kb/en/configuring-mariadb-with-option-files/ * https://mariadb.com/kb/en/legacy-clients-and-utilities/ ===== Prerequisites ===== * [[distros:fedora_server|Fedora Server]] ====== Settings ====== * Settings being done before installation is intentional sudo mkdir -p '/etc/my.cnf.d' && sudo -e '/etc/my.cnf.d/custom.cnf' [client] default-character-set = 'utf8mb4' [mariadb-client] default-character-set = 'utf8mb4' [mariadbd] character-set-client-handshake = 'FALSE' character-set-server = 'utf8mb4' collation-server = 'utf8mb4_unicode_ci' init-connect='SET NAMES utf8mb4' expire_logs_days = '7' max_binlog_size = '100M' skip-networking = 'On' table_definition_cache = '1400' ==== Verify ===== **** sudo mysqladmin variables | egrep 'utf8|networking|socket' ====== Dependencies ====== **** sudo dnf install 'mariadb-server' ====== Initial Setup ====== **** sudo systemctl enable 'mariadb' --now && sudo mariadb-secure-installation ====== Database Repair and Optimization ====== * Not required for [[/servers:games:trinitycore_3.3.5_localhost|TrinityCore 3.3.5 localhost]] ===== Create MySQL User ===== sudo mariadb GRANT SELECT, INSERT ON *.* to 'maintenance'@'localhost' IDENTIFIED BY 'x'; FLUSH PRIVILEGES; EXIT ===== Authentication File ===== sudo mkdir -p '/var/lib/mysql/auth' && sudo -e '/var/lib/mysql/auth/maintenance' && sudo chown -R 'mysql':'mysql' '/var/lib/mysql/auth' && sudo chmod '600' '/var/lib/mysql/auth/maintenance' && sync [mariadb-check] user=maintenance password=x ===== Service ===== sudo -e '/etc/systemd/system/db-m.service' [Service] User=mysql Group=mysql Type=oneshot ExecStart='/usr/bin/mariadb-check' --defaults-extra-file='/var/lib/mysql/auth/maintenance' --auto-repair --optimize --all-databases --force ExecStartPost='/usr/bin/sync' ===== Timer ===== sudo -e '/etc/systemd/system/db-m.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'db-m.timer' --now && sudo systemctl start 'db-m' && sudo systemctl status 'db-m' -l [Unit] Description=MariaDB Database Check, Repair, and Optimization After=mariadb.service [Timer] OnCalendar=weekly Persistent=true [Install] WantedBy=timers.target ====== Notable Commands ====== ===== Show Users on Server ===== **** select User,Host from mysql.user; ===== Socket File ===== **** /var/lib/mysql/mysql.sock