-
Kernel
-
Plugins
-
Решения
-
CHANGES
Kernel
Plugins
Решения
CHANGES
The instruction is aimed to migrate existing databases running on Maria, other forks or older versions to required MySQL 8.0 version. The migration is performed using MySQL 8.0 Docker image.
docker run --cap-add=sys_nice --name=mysql8 -e MYSQL_ROOT_PASSWORD=12345 -v /etc/my8.cnf.d:/etc/mysql/conf.d -v /var/lib/mysql8/:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -p 127.0.0.1:33061:3306 -d mysql:8.0 mysqld --default-authentication-plugin=mysql_native_password --ssl=off
Tune the Mysql 8 configuration (in /etc/my8.cnf.d/ directory) so that it runs.
To view the MySQL logs:
docker logs mysql8
To view the container status:
docker ps
Connect to the MySQL 8 from host:
mysql --ssl-mode=disabled --protocol tcp -P33061 -u root -p12345
Create database and fill it from BGERP backup:
mysql --ssl-mode=disabled --protocol tcp -P33061 -u root -p12345 -e "create database bgerp;"
unzip -p <backup_file>.db.zip dump.sql | mysql --ssl-mode=disabled --protocol tcp -P33061 -D bgerp -u root -p12345
Add user for the database with this script. Username and password obtained from bgerp.properties file:
#!/bin/sh
MYSQL='/usr/bin/mysql'
CONNECT_PORT=33061
CONNECT_PASSWORD='12345'
FILE='/opt/BGERP/bgerp.properties'
PWD=`grep db.pswd $FILE | cut -d'=' -f2`
USER=`grep db.user $FILE | cut -d'=' -f2`
HOST_PORT=`grep db.url $FILE | cut -d'/' -f3`
HOST=`echo $HOST_PORT | cut -d':' -f1`
DB=`grep db.url $FILE | cut -d'?' -f1 | cut -d'/' -f4`
CONNECT_PARAMETERS=(--ssl-mode=disabled --protocol=tcp --port=${CONNECT_PORT} -uroot -p${CONNECT_PASSWORD})
MYSQL_SCRIPT=("CREATE USER '${USER}'@'${HOST}' IDENTIFIED BY '${PWD}'; GRANT ALL PRIVILEGES ON $DB.* TO '${USER}'@'${HOST}';")
args=("${CONNECT_PARAMETERS[@]}" -e "${MYSQL_SCRIPT[@]}")
echo "Adding user for BGERP database..."
${MYSQL} "${args[@]}"
echo "Done"