3838}
3939trap " killoff" EXIT
4040
41+ if docker run --rm " $image " mariadb --version 2> /dev/null
42+ then
43+ mariadb=mariadb
44+ else
45+ # still running 10.3
46+ mariadb=mysql
47+ fi
48+
4149runandwait ()
4250{
4351 cname=" mariadbcontainer$RANDOM "
@@ -47,15 +55,14 @@ runandwait()
4755 ) "
4856 port=$( docker port " $cname " 3306)
4957 port=${port#*: }
50-
5158 waiting=${DOCKER_LIBRARY_START_TIMEOUT:- 10}
5259 echo " waiting to start..."
5360 set +e +o pipefail +x
5461 while [ " $waiting " -gt 0 ]
5562 do
5663 (( waiting-- ))
5764 sleep 1
58- if ! docker exec -i " $cid " mysql -h localhost --protocol tcp -P 3306 -e ' select 1' 2>&1 | grep -F " Can't connect" > /dev/null
65+ if ! docker exec -i " $cid " $mariadb -h localhost --protocol tcp -P 3306 -e ' select 1' 2>&1 | grep -F " Can't connect" > /dev/null
5966 then
6067 break
6168 fi
@@ -70,7 +77,7 @@ runandwait()
7077mariadbclient () {
7178 docker exec -i \
7279 " $cname " \
73- mysql \
80+ $mariadb \
7481 --host 127.0.0.1 \
7582 --protocol tcp \
7683 --silent \
@@ -80,7 +87,7 @@ mariadbclient() {
8087mariadbclient_unix () {
8188 docker exec -i \
8289 " $cname " \
83- mysql \
90+ $mariadb \
8491 --silent \
8592 " $@ "
8693}
@@ -133,15 +140,15 @@ killoff
133140
134141 createuser=$( docker exec --user mysql -i \
135142 " $cname " \
136- mysql \
143+ $mariadb \
137144 --silent \
138145 -e " show create user" )
139146 # shellcheck disable=SC2016
140147 [ " ${createuser// \' / \` } " == ' CREATE USER `mysql`@`localhost` IDENTIFIED VIA unix_socket' ] || die " I wasn't created how I was expected"
141148
142149 grants=" $( docker exec --user mysql -i \
143150 $cname \
144- mysql \
151+ $mariadb \
145152 --silent \
146153 -e show\ grants) "
147154
@@ -163,13 +170,13 @@ mariadbclient -u root -p"${pass}" -e 'select current_user()'
163170
164171 docker exec --user mysql -i \
165172 " $cname " \
166- mysql \
173+ $mariadb \
167174 --silent \
168175 -e " select 'I connect therefore I am'" || die " I'd hoped to work around MDEV-24111"
169176
170177 grants=" $( docker exec --user mysql -i \
171178 $cname \
172- mysql \
179+ $mariadb \
173180 --silent \
174181 -e show\ grants) "
175182
451458 docker volume rm m57 || echo " m57 already cleaned"
452459 docker volume create m57
453460 docker pull docker.io/library/mysql:5.7
454- runandwait -v m57:/var/lib/mysql:Z -e MYSQL_INITDB_SKIP_TZINFO=1 -e MYSQL_ROOT_PASSWORD=bob docker.io/library/mysql:5.7
461+ mariadb=mysql runandwait -v m57:/var/lib/mysql:Z -e MYSQL_INITDB_SKIP_TZINFO=1 -e MYSQL_ROOT_PASSWORD=bob docker.io/library/mysql:5.7
455462 # clean shutdown required
456- mariadbclient -u root -pbob -e " set global innodb_fast_shutdown=0;SHUTDOWN"
463+ docker exec " $cid " mysql -u root -pbob -e " set global innodb_fast_shutdown=0;SHUTDOWN"
457464 while docker exec " $cid " ls -lad /proc/1; do
458465 sleep 1
459466 done
@@ -585,7 +592,7 @@ binlog)
585592 fi
586593 docker exec --user mysql -i \
587594 " $cname " \
588- mysql \
595+ $mariadb \
589596 -e " SHOW SLAVE STATUS\G"
590597 killoff
591598 cid=$master_host
0 commit comments