docker-apps/mysql/mysql.txt
2025-04-03 22:57:52 +02:00

62 lines
1.9 KiB
Plaintext

Create user and group
---------------------
Credentials -> Local Users -> Add
Full Name: mysql
Username: mysql
Disable Password: <select>
Email: <leave blank>
UID: (note)
Create New Primary Group: <select>
Create Home Directory: <uncheck>
Samba Authentication: <uncheck>
Save
mysql PUID=3061
mysql PGID=3062
Create datasets
---------------
# In Truenas shell:
# list datasets
zfs list | grep -i "docker.*mysql"
# create following datasets if not present
zfs create SSD1/docker/data/mysql
zfs create SSD1/docker/data/mysql/appdata
chown -R mysql:mysql /mnt/SSD1/docker/data/mysql
Create folders
--------------
mkdir -p /mnt/SSD1/docker/stacks/mysql/secrets
Copy folder to docker stacks
----------------------------
# In Windows cmd shell in mysql folder, enter:
./cp2nas 192.168.2.2
# or
pscp -P 22 -r stacks/*.* root@192.168.2.2:/mnt/SSD1/docker/stacks/mysql/
# This should copy stacks folder to /mnt/SSD1/docker/stacks/mysql
Create secrets
--------------
In Truenas shell:
cd /mnt/SSD1/docker/stacks/mysql/secrets
# echo -n 'your_mysql_database_name' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_database_name
# echo -n 'your_mysql_username' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_username
# openssl rand 36 | base64 -w 0 | sed 's/[\$,\#,/,+,=]//g' | cut -c -32 | tr -d '\n' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_password
openssl rand 60 | base64 -w 0 | sed 's/[\$,\#,/,+,=]//g' | cut -c -56 | tr -d '\n' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_root_password
chown -R mysql:mysql /mnt/SSD1/docker/stacks/mysql/secrets/
chmod -R 400 /mnt/SSD1/docker/stacks/mysql/secrets/
# to list secrets in secrets dir
cd /mnt/SSD1/docker/stacks/mysql/secrets
for i in $(ls -1); do echo $i = `cat $i`; done | sort
To open container shell
------------------------
docker exec -it mysql-mysql-1 bash
To log into database as root from container shell
-------------------------------------------------
mysql -u root -p <database-name>
# Enter root password