User Tools

Site Tools


servers:mariadb

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
servers:mariadb [2018/07/23 12:42] Sean Rhoneservers:mariadb [2024/03/06 21:01] (current) Sean Rhone
Line 1: Line 1:
 +====== 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'
 +
 +<code>
 +[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'</code>
 +
 +==== 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
 +
 +<code>
 +[mariadb-check]
 +user=maintenance
 +password=x</code>
 +
 +===== Service =====
 +
 +  sudo -e '/etc/systemd/system/db-m.service'
 +
 +<code>
 +[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'</code>
 +
 +===== 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
 +
 +<code>
 +[Unit]
 +Description=MariaDB Database Check, Repair, and Optimization
 +After=mariadb.service
 +
 +[Timer]
 +OnCalendar=weekly
 +Persistent=true
 +
 +[Install]
 +WantedBy=timers.target</code>
 +
 +====== Notable Commands ======
 +
 +===== Show Users on Server =====
 +
 +****
 +
 +  select User,Host from mysql.user;
 +
 +===== Socket File =====
 +
 +****
 +
 +  /var/lib/mysql/mysql.sock