@@ -250,22 +250,60 @@ decrease_dbhost_values() {
250250# Create MySQL database
251251add_mysql_database () {
252252 mysql_connect $host
253+
254+ mysql_ver_sub=$( echo $mysql_ver | cut -d ' .' -f1)
255+ mysql_ver_sub_sub=$( echo $mysql_ver | cut -d ' .' -f2)
253256
254257 query=" CREATE DATABASE \` $database \` CHARACTER SET $charset "
255258 mysql_query " $query " > /dev/null
256259
257- query=" GRANT ALL ON \` $database \` .* TO \` $dbuser \` @\` %\`
258- IDENTIFIED BY '$dbpass '"
259- mysql_query " $query " > /dev/null
260-
261- query=" GRANT ALL ON \` $database \` .* TO \` $dbuser \` @localhost
262- IDENTIFIED BY '$dbpass '"
263- mysql_query " $query " > /dev/null
264-
265- if [ " $( echo $mysql_ver | cut -d ' .' -f2) " -ge 7 ]; then
266- md5=$( mysql_query " SHOW CREATE USER \` $dbuser \` " 2> /dev/null)
267- md5=$( echo " $md5 " | grep password | cut -f8 -d \' )
260+ if [ " $mysql_fork " = " mysql" ] && [ " $mysql_ver_sub " -ge 8 ] ; then
261+ query=" CREATE USER \` $dbuser \` @\` %\`
262+ IDENTIFIED BY '$dbpass '"
263+ mysql_query " $query " > /dev/null
264+
265+ query=" CREATE USER \` $dbuser \` @localhost
266+ IDENTIFIED BY '$dbpass '"
267+ mysql_query " $query " > /dev/null
268+
269+ query=" GRANT ALL ON \` $database \` .* TO \` $dbuser \` @\` %\` "
270+ mysql_query " $query " > /dev/null
271+
272+ query=" GRANT ALL ON \` $database \` .* TO \` $dbuser \` @localhost"
273+ mysql_query " $query " > /dev/null
274+ else
275+ query=" GRANT ALL ON \` $database \` .* TO \` $dbuser \` @\` %\`
276+ IDENTIFIED BY '$dbpass '"
277+ mysql_query " $query " > /dev/null
278+
279+ query=" GRANT ALL ON \` $database \` .* TO \` $dbuser \` @localhost
280+ IDENTIFIED BY '$dbpass '"
281+ mysql_query " $query " > /dev/null
282+ fi
283+
284+
285+
286+ if [ " $mysql_fork " = " mysql" ]; then
287+ # mysql
288+ if [ " $mysql_ver_sub " -ge 8 ] || { [ " $mysql_ver_sub " -eq 5 ] && [ " $mysql_ver_sub_sub " -ge 7 ]; } then
289+ if [ " $mysql_ver_sub " -ge 8 ]; then
290+ # mysql >= 8
291+ md5=$( mysql_query " SHOW CREATE USER \` $dbuser \` " 2> /dev/null)
292+ # echo $md5
293+ md5=$( echo " $md5 " | grep password | cut -f4 -d \' )
294+ # echo $md5
295+ else
296+ # mysql < 8
297+ md5=$( mysql_query " SHOW CREATE USER \` $dbuser \` " 2> /dev/null)
298+ md5=$( echo " $md5 " | grep password | cut -f8 -d \' )
299+ fi
300+ else
301+ # mysql < 5.7
302+ md5=$( mysql_query " SHOW GRANTS FOR \` $dbuser \` " 2> /dev/null)
303+ md5=$( echo " $md5 " | grep PASSW| tr ' ' ' \n' | tail -n1 | cut -f 2 -d \' )
304+ fi
268305 else
306+ # mariadb
269307 md5=$( mysql_query " SHOW GRANTS FOR \` $dbuser \` " 2> /dev/null)
270308 md5=$( echo " $md5 " | grep PASSW| tr ' ' ' \n' | tail -n1 | cut -f 2 -d \' )
271309 fi
@@ -330,23 +368,64 @@ get_database_values() {
330368
331369# Change MySQL database password
332370change_mysql_password () {
333- mysql_connect $HOST
334- query=" GRANT ALL ON \` $database \` .* TO \` $DBUSER \` @\` %\`
335- IDENTIFIED BY '$dbpass '"
336- mysql_query " $query " > /dev/null
337-
338- query=" GRANT ALL ON \` $database \` .* TO \` $DBUSER \` @localhost
339- IDENTIFIED BY '$dbpass '"
340- mysql_query " $query " > /dev/null
341-
342- if [ " $( echo $mysql_ver | cut -d ' .' -f2) " -ge 7 ]; then
343-
344- md5=$( mysql_query " SHOW CREATE USER \` $DBUSER \` " 2> /dev/null)
345- md5=$( echo " $md5 " | grep password | cut -f8 -d \' )
346- else
347- md5=$( mysql_query " SHOW GRANTS FOR \` $DBUSER \` " 2> /dev/null)
348- md5=$( echo " $md5 " | grep PASSW| tr ' ' ' \n' | tail -n1 | cut -f 2 -d \' )
349- fi
371+ mysql_connect $HOST
372+
373+ mysql_ver_sub=$( echo $mysql_ver | cut -d ' .' -f1)
374+ mysql_ver_sub_sub=$( echo $mysql_ver | cut -d ' .' -f2)
375+
376+ if [ " $mysql_fork " = " mysql" ]; then
377+ # mysql
378+ if [ " $mysql_ver_sub " -ge 8 ]; then
379+ # mysql >= 8
380+ query=" SET PASSWORD FOR \` $DBUSER \` @\` %\` = '$dbpass '"
381+ mysql_query " $query " > /dev/null
382+ query=" SET PASSWORD FOR \` $DBUSER \` @localhost = '$dbpass '"
383+ mysql_query " $query " > /dev/null
384+ else
385+ # mysql < 8
386+ query=" GRANT ALL ON \` $database \` .* TO \` $DBUSER \` @\` %\`
387+ IDENTIFIED BY '$dbpass '"
388+ mysql_query " $query " > /dev/null
389+
390+ query=" GRANT ALL ON \` $database \` .* TO \` $DBUSER \` @localhost
391+ IDENTIFIED BY '$dbpass '"
392+ mysql_query " $query " > /dev/null
393+ fi
394+ else
395+ # mariadb
396+ query=" GRANT ALL ON \` $database \` .* TO \` $DBUSER \` @\` %\`
397+ IDENTIFIED BY '$dbpass '"
398+ mysql_query " $query " > /dev/null
399+
400+ query=" GRANT ALL ON \` $database \` .* TO \` $DBUSER \` @localhost
401+ IDENTIFIED BY '$dbpass '"
402+ mysql_query " $query " > /dev/null
403+ fi
404+
405+ if [ " $mysql_fork " = " mysql" ]; then
406+ # mysql
407+ if [ " $mysql_ver_sub " -ge 8 ] || { [ " $mysql_ver_sub " -eq 5 ] && [ " $mysql_ver_sub_sub " -ge 7 ]; } then
408+ if [ " $mysql_ver_sub " -ge 8 ]; then
409+ # mysql >= 8
410+ md5=$( mysql_query " SHOW CREATE USER \` $DBUSER \` " 2> /dev/null)
411+ # echo $md5
412+ md5=$( echo " $md5 " | grep password | cut -f4 -d \' )
413+ # echo $md5
414+ else
415+ # mysql < 8
416+ md5=$( mysql_query " SHOW CREATE USER \` $DBUSER \` " 2> /dev/null)
417+ md5=$( echo " $md5 " | grep password | cut -f8 -d \' )
418+ fi
419+ else
420+ # mysql < 5.7
421+ md5=$( mysql_query " SHOW GRANTS FOR \` $DBUSER \` " 2> /dev/null)
422+ md5=$( echo " $md5 " | grep PASSW| tr ' ' ' \n' | tail -n1 | cut -f 2 -d \' )
423+ fi
424+ else
425+ # mariadb
426+ md5=$( mysql_query " SHOW GRANTS FOR \` $DBUSER \` " 2> /dev/null)
427+ md5=$( echo " $md5 " | grep PASSW| tr ' ' ' \n' | tail -n1 | cut -f 2 -d \' )
428+ fi
350429}
351430
352431# Change PostgreSQL database password
0 commit comments