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
Last revisionBoth sides next revision
servers:mariadb [2018/07/23 12:40] Sean Rhoneservers:mariadb [2023/09/12 17:25] – [Settings] 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 ======
 +
 +===== 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
  
/var/www/wiki/data/pages/servers/mariadb.txt · Last modified: 2024/03/06 21:01 by Sean Rhone