Danach müssen Sie den Docker-Container für den MySQL-Server erstellen. Erstellen Sie die Konfigurationsdatei:
echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048
log-error = /var/log/mysql/error.log" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf
sudo chmod 0644 /app/onlyoffice/mysql/conf.d/onlyoffice.cnf
Erstellen Sie das SQL-Skript, das die Benutzer generiert und ihnen die Rechte erteilt. onlyoffice_user
wird für den ONLYOFFICE Community Server benötigt und mail_admin
wird für ONLYOFFICE E-Mail benötigt, falls es installiert werden soll:
echo "CREATE USER 'onlyoffice_user'@'localhost' IDENTIFIED BY 'onlyoffice_pass';
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY 'my-secret-pw';
GRANT ALL PRIVILEGES ON * . * TO 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
Bitte beachten Sie, dass das obige Skript die Zugriffsberechtigungen auf den SQL-Server von beliebigen Domains (%
) festlegen wird. Wenn Sie den Zugriff einschränken möchten, können Sie Hosts angeben, die Zugriff auf den SQL-Server haben.
Jetzt können Sie einen MySQL-Container erstellen, der die MySQL-Version auf 5.7 setzt:
sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server -p 3306:3306 \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-v /app/onlyoffice/mysql/logs:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:5.7