Upgrading from MariaDB 10.1 to MariaDB 10.3

D
На сайте с 28.06.2008
Offline
997
1865

В наличии Дебиан 9,5 и MariaDB 10.1

Можно ли без удаления баз обновиться до MariaDB 10.3?

Не могу в сети найти нормального мануала.

PA
На сайте с 15.02.2018
Offline
67
#1

Последовательно попробуйте

https://mariadb.com/kb/en/library/upgrading-from-mariadb-101-to-mariadb-102/

https://mariadb.com/kb/en/library/upgrading-from-mariadb-102-to-mariadb-103/

На форуме рекомендуют не пропускать версий.

Ну и бекапы делайте.

Дедик, VDS, Бекап ( https://is.gd/urIVYq) дешево | Мои VDS ( https://is.gd/vds100 ) быстрее твоих | Продаю хостинг
D
На сайте с 28.06.2008
Offline
997
#2

Обновил минуя 10.2

по шагам расписать форум не дает, блокирует - Sorry, you have been blocked

+ в пхпмайдамин две ошибки

mysqli_real_connect(): (HY000/1045): Access denied for user 'phpmyadmin'@'localhost' (using password: YES)

Ошибка при указании соединения для controluser в конфигурации.

PA
На сайте с 15.02.2018
Offline
67
#3

mysql_upgrade делали?

D
На сайте с 28.06.2008
Offline
997
#4

Проблему решил так:

удалил папку /var/lib/mysql/mysql

залил туда старую из бекапа и сделал sudo mysql_upgrade --force -p

все прошло на - ОК



---------- Добавлено 30.12.2018 в 20:26 ----------

Ошибки в пхпмайадмин убрал так

apt-get --purge remove phpmyadmin
sudo apt-get install phpmyadmin

P.S. обновление провел так:

Забекапил my.cnf

переназвал папку /var/lib/0mysql

sudo apt-get --purge remove mariadb*

sudo apt-get autoremove

sudo apt-get autoclean

apt-get update

apt-get install dirmngr curl -y

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash

apt-get update

apt-get install mariadb-server -y

вернул базы в /var/lib/mysql

sudo mysql_upgrade --force -p

apt-get --purge remove phpmyadmin

sudo apt-get install phpmyadmin

D
На сайте с 28.06.2008
Offline
997
#5

В общем все равно где то я ошибаюсь. Фиг знает как у меня вчера получилось завершить sudo mysql_upgrade --force -p на ОК.

Сегодня решил еще раз пройтись по командам на тестовом сервере чтобы уже потом быстро обновить на боевом.

Итак:

1. Развернул снимок на идентичный ВПС.

/etc/init.d/mysql stop

2. cp -r /var/lib/mysql/* /var/lib/mysql2

3. sudo apt-get --purge remove mariadb*

sudo apt-get autoremove

sudo apt-get autoclean

4. apt-get update

apt-get install dirmngr curl -y

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash

apt-get update

apt-get install mariadb-server -y

/etc/init.d/mysql stop

5. Вернул базы и файл ibdata1 из /var/lib/mysql2 в /var/lib/mysql/

6. chown -R mysql:mysql /var/lib/mysql

7. /etc/init.d/mysql start

На этом этапе все ок, мускуль запустился, версия 10.3

Осталось последний шаг:

sudo mysql_upgrade --force -p

на что получаю

Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.gtid_slave_pos
Error : Table 'mysql.gtid_slave_pos' doesn't exist in engine
status : Operation failed
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.index_stats OK
mysql.innodb_index_stats
Error : Table 'mysql.innodb_index_stats' doesn't exist in engine
status : Operation failed
mysql.innodb_table_stats
Error : Table 'mysql.innodb_table_stats' doesn't exist in engine
status : Operation failed
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK
mysql.table_stats OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.transaction_registry
Error : Table 'mysql.transaction_registry' doesn't exist in engine
status : Operation failed
mysql.user OK

Repairing tables
mysql.gtid_slave_pos
Error : Table 'mysql.gtid_slave_pos' doesn't exist in engine
status : Operation failed
mysql.innodb_index_stats
Error : Table 'mysql.innodb_index_stats' doesn't exist in engine
status : Operation failed
mysql.innodb_table_stats
Error : Table 'mysql.innodb_table_stats' doesn't exist in engine
status : Operation failed
mysql.transaction_registry
Error : Table 'mysql.transaction_registry' doesn't exist in engine
status : Operation failed
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
Phase 4/7: Running 'mysql_fix_privilege_tables'
ERROR 1932 (42S02) at line 635: Table 'mysql.innodb_index_stats' doesn't exist in engine
ERROR 1243 (HY000) at line 636: Unknown prepared statement handler (stmt) given to EXECUTE
ERROR 1932 (42S02) at line 638: Table 'mysql.innodb_table_stats' doesn't exist in engine
ERROR 1243 (HY000) at line 639: Unknown prepared statement handler (stmt) given to EXECUTE
ERROR 1932 (42S02) at line 643: Table 'mysql.innodb_index_stats' doesn't exist in engine
ERROR 1932 (42S02) at line 647: Table 'mysql.innodb_table_stats' doesn't exist in engine
ERROR 1932 (42S02) at line 650: Table 'mysql.innodb_table_stats' doesn't exist in engine
FATAL ERROR: Upgrade failed

попробовал удалить папку с базой mysql и залить ее из бекапа - не помогло. Что не так?

---------- Добавлено 31.12.2018 в 16:41 ----------

решение проблемы тут http://qaru.site/questions/839308/mysqlupgrade-failed-innodb-tables-doesnt-exist - в ответе "ОБНОВЛЕНО Fix For: MariaDB 10"

D
На сайте с 28.06.2008
Offline
997
#6

Перенес на боевом - все ок.

Была одна проблема.

Сайты не работали, хотя мускуль стартовал и проблем не было.

Оказывается в бузе мускуля при обновлении пропали юзеры баз данных.

Перенес их из бекапа и все стало ок.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий