Add the use of default authentication plugin for mysql

This commit is contained in:
Evgeniy Antonyuk 2023-06-23 18:12:40 +05:00
parent 9420400f29
commit db2354b314
3 changed files with 8 additions and 11 deletions

View File

@ -136,9 +136,9 @@ group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf
Create the SQL script which will generate the users and issue the rights to them. The `onlyoffice_user` is required for **ONLYOFFICE Community Server**, and the `mail_admin` is required for **ONLYOFFICE Mail Server** in case it is going to be installed:
```
echo "ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH caching_sha2_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH caching_sha2_password BY 'Isadmin123';
echo "ALTER USER 'root'@'%' IDENTIFIED BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';

View File

@ -1,9 +1,9 @@
CREATE DATABASE IF NOT EXISTS onlyoffice CHARACTER SET "utf8" COLLATE "utf8_general_ci";
CREATE DATABASE IF NOT EXISTS onlyoffice_mailserver CHARACTER SET "utf8" COLLATE "utf8_general_ci";
ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH caching_sha2_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH caching_sha2_password BY 'Isadmin123';
ALTER USER 'root'@'%' IDENTIFIED BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';

View File

@ -597,12 +597,9 @@ if [ "${MYSQL_SERVER_EXTERNAL}" == "false" ]; then
systemctl enable mysql.service
service mysql start
MYSQL_AUTHENTICATION_PLUGIN=$(mysql --defaults-extra-file="$MYSQL_ROOT_CONFIG" -e "SHOW VARIABLES LIKE 'default_authentication_plugin';" -s | awk '{print $2}')
MYSQL_AUTHENTICATION_PLUGIN=${MYSQL_AUTHENTICATION_PLUGIN:-caching_sha2_password}
if [ -n "$MYSQL_SERVER_ROOT_PASSWORD" ] && mysqladmin --defaults-extra-file="$MYSQL_ROOT_CONFIG" ping | grep -q "mysqld is alive" ; then
mysql --defaults-extra-file="$MYSQL_ROOT_CONFIG" <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH $MYSQL_AUTHENTICATION_PLUGIN BY "$MYSQL_SERVER_ROOT_PASSWORD";
ALTER USER 'root'@'localhost' IDENTIFIED BY "$MYSQL_SERVER_ROOT_PASSWORD";
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test_%';
@ -613,7 +610,7 @@ EOF
if [ "$MYSQL_SERVER_USER" != "root" ]; then
mysql --defaults-extra-file="$MYSQL_ROOT_CONFIG" <<EOF
CREATE USER IF NOT EXISTS "$MYSQL_SERVER_USER"@"localhost" IDENTIFIED WITH $MYSQL_AUTHENTICATION_PLUGIN BY "$MYSQL_SERVER_PASS";
CREATE USER IF NOT EXISTS "$MYSQL_SERVER_USER"@"localhost" IDENTIFIED BY "$MYSQL_SERVER_PASS";
GRANT ALL PRIVILEGES ON *.* TO "$MYSQL_SERVER_USER"@'localhost';
FLUSH PRIVILEGES;
EOF