@@ -37,7 +37,7 @@ extra_opts="$@"
3737# We use my_print_defaults which prints all options from multiple files,
3838# with the more specific ones later; hence take the last match.
3939get_mysql_option (){
40- result=` /usr/bin/my_print_defaults " $1 " | sed -n " s/^--$2 =//p" | tail -n 1`
40+ result=$( /usr/bin/my_print_defaults " $1 " | sed -n " s/^--$2 =//p" | tail -n 1)
4141 if [ -z " $result " ]; then
4242 # not found, use default
4343 result=" $3 "
6161install_validate_password_sql_file () {
6262 local dir
6363 local initfile
64- if [ -d /var/lib/mysql-files ]; then
65- dir=/var/lib/mysql-files
66- else
67- dir=/tmp
68- fi
64+ dir=/var/lib/mysql
6965 initfile=" $( mktemp $dir /install-validate-password-plugin.XXXXXX.sql) "
7066 chown mysql:mysql " $initfile "
71- echo " INSERT INTO mysql.plugin (name, dl) VALUES ('validate_password', 'validate_password.so');" > $initfile
72- echo $initfile
67+ echo " INSERT INTO mysql.plugin (name, dl) VALUES ('validate_password', 'validate_password.so');" > " $initfile "
68+ echo " SHUTDOWN;" >> " $initfile "
69+ echo " $initfile "
7370}
7471
7572start (){
@@ -86,9 +83,9 @@ start(){
8683 action $" Starting $prog : " /bin/true
8784 ret=0
8885 else
89- # prepare for start
86+ # prepare for start
9087 touch " $errlogfile "
91- chown mysql:mysql " $errlogfile "
88+ chown mysql:mysql " $errlogfile "
9289 chmod 0640 " $errlogfile "
9390 [ -x /sbin/restorecon ] && /sbin/restorecon " $errlogfile "
9491 if [ ! -d " $datadir /mysql" ] ; then
@@ -99,19 +96,26 @@ start(){
9996 fi
10097 chown mysql:mysql " $datadir "
10198 chmod 0751 " $datadir "
102- [ -x /sbin/restorecon ] && /sbin/restorecon " $datadir "
99+ if [ -x /sbin/restorecon ] ; then
100+ /sbin/restorecon " $datadir "
101+ if [ -x /usr/sbin/semanage -a -d /var/lib/mysql -a -d /var/lib/mysql-files ] ; then
102+ /usr/sbin/semanage fcontext -a -e /var/lib/mysql /var/lib/mysql-files
103+ /sbin/restorecon /var/lib/mysql-files
104+ fi
105+ fi
103106 # Now create the database
104- initfile=" $( install_validate_password_sql_file) "
105- action $" Initializing MySQL database: " /usr/sbin/mysqld --initialize --datadir=" $datadir " --user=mysql --init-file=" $initfile "
107+ action $" Initializing MySQL database: " /usr/sbin/mysqld --initialize --datadir=" $datadir " --user=mysql
108+ ret=$?
109+ [ $ret -ne 0 ] && return $ret
110+ initfile=" $( install_validate_password_sql_file) "
111+ action $" Installing validate password plugin: " /usr/sbin/mysqld --datadir=" $datadir " --user=mysql --init-file=" $initfile "
106112 ret=$?
107- rm -f " $initfile "
113+ rm -f " $initfile "
108114 chown -R mysql:mysql " $datadir "
109- # Generate certs if needed
110- if [ -x /usr/bin/mysql_ssl_rsa_setup -a ! -e " ${datadir} /server-key.pem" ] ; then
111- /usr/bin/mysql_ssl_rsa_setup --datadir=" $datadir " --uid=mysql > /dev/null 2>&1
112- fi
113- if [ $ret -ne 0 ] ; then
114- return $ret
115+ [ $ret -ne 0 ] && return $ret
116+ # Generate certs if needed
117+ if [ -x /usr/bin/mysql_ssl_rsa_setup -a ! -e " ${datadir} /server-key.pem" ] ; then
118+ /usr/bin/mysql_ssl_rsa_setup --datadir=" $datadir " --uid=mysql > /dev/null 2>&1
115119 fi
116120 fi
117121 chown mysql:mysql " $datadir "
@@ -164,7 +168,7 @@ stop(){
164168 action $" Stopping $prog : " /bin/true
165169 return 0
166170 fi
167- MYSQLPID=` cat " $mypidfile " `
171+ MYSQLPID=$( cat " $mypidfile " )
168172 if [ -n " $MYSQLPID " ]; then
169173 /bin/kill " $MYSQLPID " > /dev/null 2>&1
170174 ret=$?
@@ -194,7 +198,7 @@ stop(){
194198 fi
195199 return $ret
196200}
197-
201+
198202restart (){
199203 stop
200204 start
0 commit comments