Автор Тема: mariadb-server 10.0.34 на p8 или p9 [РЕШЕНО]  (Прочитано 6916 раз)

Оффлайн KALIBR-10

  • Давно тут
  • **
  • Сообщений: 423
Re: mariadb-server 10.0.34 на p8 или p9 [РЕШЕНО]
« Ответ #15 : 14.12.2020 17:21:58 »
А вы точно mariadb ставите, а не MySQL-8? Со вторым возможны проблемы, но mariadb нормально работает, даже с legacy софтом.
Да, я же изначально из репозитория ставил пакет mariadb-server, но так как нужной версии не подобрал скачал у разработчика бинарники.
Разбаньте в телеге шакалы!!!

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Re: mariadb-server 10.0.34 на p8 или p9 [РЕШЕНО]
« Ответ #16 : 14.12.2020 20:22:20 »
Что же такое делает эта ваша приложуха с базой?
Сколько не рыл на предмет регрессии в версиях MariaDB от 10.0 до 10.4 - ничего не нашёл - обратная совместимость очень хорошо поддерживается. И как ранее сказали, у последней версии MariaDB совместимость со старыми версиями MySQL (до 8 версии) гораздо лучше (можно сказать - отличная), чем в самой MySQL8 совместимость со своими старыми версиями.

Оффлайн KALIBR-10

  • Давно тут
  • **
  • Сообщений: 423
Re: mariadb-server 10.0.34 на p8 или p9 [РЕШЕНО]
« Ответ #17 : 20.12.2020 14:26:54 »
Что же такое делает эта ваша приложуха с базой?
Сколько не рыл на предмет регрессии в версиях MariaDB от 10.0 до 10.4 - ничего не нашёл - обратная совместимость очень хорошо поддерживается. И как ранее сказали, у последней версии MariaDB совместимость со старыми версиями MySQL (до 8 версии) гораздо лучше (можно сказать - отличная), чем в самой MySQL8 совместимость со своими старыми версиями.
Да хрен его знает, изначально я делал так:
mysqldump --ВсеБазы > Файл > mariadb 10.4
Прогеры сказали нет каких-то данных. У них ещё дохрена таблиц в performance_schema, которых на новом сервере не стало. Я попробовал на старом забекапить performance_schema не дало.
Пошел другим путем: Остановил марии на обоих серверах и просто скопирован каталог с базой на новый сервер. Запуск завершился ошибкой, причину которой не нашел. Поднял марию той же версии что на старом, опять скопировал каталог с данными и всё стартануло без проблем... Возможно у меня нет необходимого опыта с СУБД
Разбаньте в телеге шакалы!!!

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Re: mariadb-server 10.0.34 на p8 или p9 [РЕШЕНО]
« Ответ #18 : 20.12.2020 19:27:12 »
Вот что нагуглилось по этому поводу в официальной доке:
https://mariadb.com/kb/en/mysqldump/
Цитировать
mysqldump does not dump the INFORMATION_SCHEMA (or PERFORMANCE_SCHEMA, if enabled) database by default. MariaDB dumps the INFORMATION_SCHEMA if you name it explicitly on the command line, although currently you must also use the --skip-lock-tables option.
Так что в вашем бэкапе действительно не было этих данных.

И там же про бэкап и восстановление базы подробнее, в том числе про используемые утилиты:
https://mariadb.com/kb/en/backing-up-and-restoring-databases/

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Re: mariadb-server 10.0.34 на p8 или p9 [РЕШЕНО]
« Ответ #19 : 20.12.2020 19:38:44 »
По утилитам бэкапа. Там же в официальной доке указано, что Mariabackup появился с версии 10.1.23, что для вас не подходит.
Но для старых версий можно использовать Percona XtraBackup. НО! XtraBackup не совместима с базами версии от 10.3 и частично совместима с 10.1 и 10.2 - https://mariadb.com/kb/en/backing-up-and-restoring-databases-percona-xtrabackup/

Так что вам надо как-то поэтапно переезжать со 10.0 на 10.4, чтобы сохранить все нужные  INFORMATION_SCHEMA и PERFORMANCE_SCHEMA

Оффлайн Dron.ru

  • Начинающий
  • *
  • Сообщений: 13
Re: mariadb-server 10.0.34 на p8 или p9 [РЕШЕНО]
« Ответ #20 : 26.10.2023 12:35:32 »
Пробовал на П8 добавить репу п7 и установить от туда, ругается на зависимости perl (DBI.pm) я не знаю что это... не силен в перле. А может и вообще так нельзя ставить софт.
Использовать БД выше версии не представляется возможным из-за заточенного под данную структуру ПО.
Какие будут варианты?

DBI.pm это библиотека perl для работы с СУБД, помимо неё вам понадобятся ещё несколько библиотек для работы с MariaDB

Установка Perl
apt-get install perl perl-CPAN libmariadb-devel
cpan #Запускаем скрипт установки библиотек для Perl, в нём вводим:

install CGI
install DBI
install threads
install DBI::DBD
install DBD::MariaDB
install DBD::mysql


В библиотеке DBD::MariaDB есть одна неприятная особенность - при получении от perl-скрипта sql запроса он принудительно конвертируется в utf8 вне зависимости от кодировки базы данных и директив SET CHARACTER SET, SET NAMES. Если perl-скрипт работает с запросами в которых присутствует кириллица не в кодировке utf8, то обойти проблему можно так:
use DBI;
use Encode;

$dbh=DBI->connect("DBI:MariaDB:database=$database;host=$host",$mysql_login,$mysql_passw);
$dbh->do("SET CHARACTER SET cp1251");
$dbh->do("SET NAMES cp1251");

$sql="SELECT * FROM table_name WHERE param_name like '%кириллица в кодировке cp1251%'";
Encode::_utf8_on($sql); #Эта строка без перекодирования помечает $sql как текст в кодировке utf8, хотя на самом деле это текст в кодировке cp1251. Без этого флага DBI:MariaDB перекодирует текст запроса и кириллица испортится.
$r=$dbh->prepare($sql);