LEOnidUKG

LEOnidUKG
Рейтинг
1776
Регистрация
25.11.2006
Должность
PHP
Интересы
Программирование
Mobiaaa #:
Собственно я проверил на mysql  Ver 8.0.30

Судя по логам, ошибка появилась в 31 версии и была пофикшена в 32

https://bugs.mysql.com/bug.php?id=109685

Короче это всё шарады, надо смотреть по факту, что происходит с плагином и на сервере. 
SeVlad #:

На 3х проверено. (3 сайта. С разными базами. Для каждого сайта свои системные юзеры и соответственно разные юзеры БД)

И мне кажется речь в мане мускуля не про юзеров базы, а про системных. От их же имени работает php и соответственно запускается mysqldump. (апач в режиме ITK)

Нет, там речь про пользователей Mysql. Они выполняют операции.

SeVlad #:

Т.е. выходит плагин не виноват..

поэтому я и предлагал пересоздать пользователя в панели ISP для БД, может быть он косячный.

Mobiaaa #:
Дописать в функцию вызова 

А судя по коду плагина она есть:

private function mysqlDump($exePath)

{

    global $wpdb;

    require_once(DUPLICATOR_PLUGIN_PATH . 'classes/utilities/class.u.shell.php');

    $host = SnapURL::parseUrl(DB_HOST, PHP_URL_HOST);

    if (($port = SnapURL::parseUrl(DB_HOST, PHP_URL_PORT)) == false) {

        $port = '';

    }

    $name           = DB_NAME;

    $mysqlcompat_on = isset($this->Compatible) && strlen($this->Compatible);

//Build command

    $cmd  = escapeshellarg($exePath);

    $cmd .= ' --no-create-db';

    $cmd .= ' --single-transaction';

    $cmd .= ' --hex-blob';

    $cmd .= ' --skip-add-drop-table';

    $cmd .= ' --routines';

    $cmd .= ' --quote-names';

    $cmd .= ' --skip-comments';

    $cmd .= ' --skip-set-charset';

    $cmd .= ' --skip-triggers';

    $cmd .= ' --allow-keywords';

        $cmd .= ' --no-tablespaces';

//Compatibility mode

    if ($mysqlcompat_on) {

        DUP_Log::Info("COMPATIBLE: [{$this->Compatible}]");

        $cmd .= " --compatible={$this->Compatible}";

    }


Версия плагина:

  • Version:1.5.3.1

Обновлена пару дней назад.

Нет, не правильно. Я про раздел Базы данных слева в меню и там пользователя. WWW сайты это не касается.

Как один из вариантов, попробовать создать нового пользователя в панели ISP для нужной БД и подключить сайт через него.

Чисто для теста.

SeVlad #:
Как плагин может запускаться с системной командой? Вызвать mysqldump  - это я ещё понимаю. Но запускаться..

Ну запускать плагин должен  mysqldump  с командой --no-tablespaces

Если такие проблемы, то просто выбрать PHP код и работать через него. Или руками через панель сделать дамп. 

Или воспользоваться другим плагином, может быть по умнее.

Релиз MySQL 8.0.21 (2020-07-13) и что за 2,5 года никто не додумался правильно вызывать  mysqldump  ?

Dimitrius_R #:
Можно эту ошибку просто проигнорировать. Сама таблица отлично дампится при этом. Т.е. mysqldump пишет в консоль эту ошибку, при этом отлично всё дампит.

Да я, что-то разработчиков плагина тогда не понял. Кто мешает очищать таблицы через PHP, а загружать потом через  mysqldump? Как всегда ЧСВ у кого-то сыграло, мол это плохие разработчики MySQL сделали, а мы то очень важные, мы будем стоять на своём!

Судя по документации, то плагин должен запускаться с командой mysqldump  --no-tablespaces

Выдавать  PROCESS  пользователю это вообще не вариант т.к. оно будет работать на глобальном уровне, а не на уровне БД.

Всего: 31516