This is content refers to:
Mariadb:11.4.7
Docker image: mariadb@sha256:1d18f91deb21136d1881705720071d1b474a9904ecca827058bf1c0fc64d3118
Under Ubuntu 24.04.2 LTS.
- 1. How-To: Install MariaDB
- 2. How-To: Setup custom data directory
- 3. How-To: Define default character set and collation
- 4. How-To: Change MariaDB Port
- Misc: Useful commands
...
Why? An easy accessible, absolute path custom directory can be used for persistency between containers with a docker volume.
sudo mkdir mariadb-data
sudo chown -R 999:999 /mariadb-data
sudo chmod 700 /mariadb-data
Stop MariaDB:
sudo systemctl stop mariadb
Then open config:
sudo nano /etc/mysql/mariadb.cnf
Add or edit in:
[mysqld]
datadir = /mariadb-data
Save the file and exit.
Copy respective files with permissions:
sudo cp -a /var/lib/mysql/. /mariadb-data/
sudo systemctl start mariadb
Log into MariaDB:
mysql -u root -p
or
'/usr/bin/mariadb -u root -p'
Check databases:
SHOW DATABASES;
UTF-8 ensures consistent sorting and comparison behaviour for strings.
Edit Config:
sudo nano /etc/mysql/mariadb.cnf
Add:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
Restart MariaDB afterwards.
sudo systemctl restart mariadb
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
MariaDB standart port is 3306. Choose something else.
[mysqld]
port = 7307
sudo systemctl restart mariadb
sudo ss -tulnp | grep mysql
sudo systemctl start mariadb
sudo systemctl stop mariadb
sudo systemctl restart mariadb