Mysql 8 Support

This only works if default_authentication_plugin=mysql_native_password is setup

So add it to Mysqld section
[Mysqld]
default_authentication_plugin=mysql_native_password
This commit is contained in:
Maksim Usmanov | Maks 2019-01-13 00:20:02 +01:00 committed by GitHub
commit 4852e75bb1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -204,7 +204,16 @@ add_mysql_database() {
query="CREATE DATABASE \`$database\` CHARACTER SET $charset" query="CREATE DATABASE \`$database\` CHARACTER SET $charset"
mysql_query "$query" > /dev/null mysql_query "$query" > /dev/null
# This can be modified for mysql 5.7 for better compatibility
if [ "$(echo $mysql_ver |cut -d '.' -f1)" -eq 8 ]; then
query="CREATE USER IF NOT EXISTS '$dbuser'@'localhost' IDENTIFIED BY '$dbpass';"
mysql_query "$query" > /dev/null
query="CREATE USER IF NOT EXISTS '$dbuser'@'%' IDENTIFIED BY '$dbpass';"
mysql_query "$query" > /dev/null
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`"
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost"
mysql_query "$query" > /dev/null
else
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\` query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`
IDENTIFIED BY '$dbpass'" IDENTIFIED BY '$dbpass'"
mysql_query "$query" > /dev/null mysql_query "$query" > /dev/null
@ -212,8 +221,10 @@ add_mysql_database() {
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost
IDENTIFIED BY '$dbpass'" IDENTIFIED BY '$dbpass'"
mysql_query "$query" > /dev/null mysql_query "$query" > /dev/null
fi
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ]; then # for mysql 8 this will work only if mysql_native_password is enabled
# Not think yet how to add compatibility for new cached SHA-256 password system
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ] || [ "$(echo $mysql_ver |cut -d '.' -f1)" -eq 8 ]; then
md5=$(mysql_query "SHOW CREATE USER \`$dbuser\`" 2>/dev/null) md5=$(mysql_query "SHOW CREATE USER \`$dbuser\`" 2>/dev/null)
md5=$(echo "$md5" |grep password |cut -f8 -d \') md5=$(echo "$md5" |grep password |cut -f8 -d \')
else else