[debian-mysql] Jessie->Stretch upgrade testing

Otto Kekäläinen otto at debian.org
Thu Jan 26 08:43:12 UTC 2017


Hello!

Just for the record, I yesterday tested with clean virtual images that
the following upgrades work as expected;


## Jessie with mariadb-server installed -> Stretch

-> on 'apt-get upgrade' only mysql-common and mariadb-common upgraded
-> on 'apt-get dist-upgrade' the packages mariadb-client-10.0
mariadb-client-core-10.0 mariadb-server-10.0 and
mariadb-server-core-10.0 were removed and  the10.1 ones installed
instead as expected


mysqld is running OK but in the /var/log/mysql/error.log I can still see:

2017-01-25 09:15:09 7febd4cc1700 InnoDB: Error: Column last_update in
table "mysql"."innodb_table_stats" is INT UNSIGNED NOT NULL but should
be BINARY(4) NOT NULL (type mismatch).
2017-01-25 09:15:09 7febd4cc1700 InnoDB: Error: Fetch of persistent
statistics requested for table "mysql"."gtid_slave_pos" but the
required system tables mysql.innodb_table_stats and
mysql.innodb_index_stats are not present or have unexpected structure.
Using transient stats instead.
2017-01-25  9:46:50 140548391584320 [Note] /usr/sbin/mysqld: ready for
connections.
Version: '10.1.21-MariaDB-2'  socket: '/var/run/mysqld/mysqld.sock'
port: 3306  Debian 9.0

I am not sure if this is an relevant error or not.

I also checked what happens to the configs in /etc/mysql
The update-alternatives systems takes over and makes my.cnf point to
the old my.cnf file, which in turn includes all files in conf.d/*.
None of our new config files will apply in any way and it is up to the
admins to delete old config files and start using the new ones. I
guess this is OK as long as MariaDB is backwards compatible with the
old config files.


## Jessie with mysql-server installed -> Stretch

-> on 'apt-get upgrade' mysql-common and mariadb-common was kept back
-> on 'apt-get dist-upgrade' the packages mysql-client-5.5
mysql-server-5.5 mysql-server-core-5.5 were removed and
mysql-client-5.6 mysql-client-core-5.6 mysql-server-5.6
mysql-server-core-5.6 installed and mysql-server and mysql-common
upgraded
-> No automatic MariaDB usage here as MySQL 5.6 is still available in Stretch
-> on 'apt-get install mariadb-server' all mysql-* was removed and
replaced by mariadb-* as expected

mysqld is running OK but in the /var/log/mysql/error.log I can still see:

2017-01-25  9:41:18 140691842267072 [ERROR] Incorrect definition of
table mysql.event: expected column 'sql_mode' at position 14 to have
type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'),
found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_A
2017-01-25  9:41:18 140691842267072 [ERROR] mysqld: Event Scheduler:
An error occurred when initializing system tables. Disabling the Event
Scheduler.
2017-01-25  9:41:18 140691842267072 [Note] /usr/sbin/mysqld: ready for
connections.
Version: '10.1.21-MariaDB-2'  socket: '/var/run/mysqld/mysqld.sock'
port: 3306  Debian 9.0

I am not sure if this is an relevant error or not. Right now I don't
have time to investigate more.


## Jessie with zabbix-server-mysql installed -> Stretch

-> on 'apt-get upgrade' mysql-common and mysql-server was kept back
-> on 'apt-get dist-upgrade' the packages mysql-client-5.5
mysql-server-5.5 mysql-server-core-5.5 were removed, packages
libmaridbclient18 mariadb-common mysql-client-5.6
mysql-client-core-5.6 mysql-server-5.6 mysql-server-core-5.6 installed
and mysql-common mysql-server upgraded
-> No automatic MariaDB usage here as MySQL 5.6 is still available in Stretch
-> on 'apt-get install default-mysql-server' all mysql-* was removed
and replaced by mariadb-* as expected




## Commands used (notes to myself mostly)

echo 'deb http://labs.seravo.fi/~otto/mariadb-repo/
mariadb-10.1-sid-amd64/' >> /etc/apt/sources.list && apt-get update &&
apt-get upgrade

sed -i s/jessie/stretch/g /etc/apt/sources.list && apt-get update &&
apt-get upgrade

apt-get dist-upgrade



More information about the pkg-mysql-maint mailing list