Восстановить базу данных mysql из AWS AMI?

Общепринято интерпретировать -как стандартный ввод, когда ожидается имя входного файла, и как стандартный вывод, когда ожидается имя выходного файла. Поскольку это общепринятое соглашение, в краткой справке на справочной странице GNU tar он не упоминается, но упоминается в полном руководстве (, обычно доступном локально через info tar). Руководство по синтаксису утилит командной строки POSIX включает это соглашение, поэтому оно довольно широко распространено (, но это всегда выбор автора программы ).

Утилиты BusyBox следуют этому соглашению. Но в мануале tarне упоминается как поддерживающий вариант -T, как и в версии на машине, которую я выкладываю (1.27.2 на Ubuntu ). Я не знаю, почему вы получаете сообщение об ошибке «:Нет такого файла или каталога», а не «недопустимая опция --'T'». Кажется, что ваш tarинтерпретирует -Tкак параметр, который не принимает аргумент, а затем видит -как имя файла. Поскольку в этом контексте tar требуется имя файла для помещения в архив, а не просто какое-то содержимое , полученное из файла, не имеет смысла использовать интерпретацию stdin/stdout. для -.

Утилиты BusyBox изначально поддерживают ограниченный набор функций, поскольку они предназначены для встраиваемых систем, в которых не подходят более сложные функции утилит GNU. Судя по всему, -Tне является функцией, которую разработчики BusyBox сочли полезной.

Я не думаю, что BusyBox tar может считывать имена файлов со стандартного ввода. Если вам нужно заархивировать подмножество файлов в каталоге и вам не нужны никакие символические ссылки в архиве, обходной путь — создать лес символических ссылок во временном каталоге и заархивировать этот временный каталог.

Не совсем понятно, почему вы используете find. Если вам нужны только файлы в текущем каталоге, почему бы и нет tar czf /path/to/archive.tgz -- *?Ваша команда имеет смысл, если есть подкаталоги, и вы хотите заархивировать файлы в этих подкаталогах, но не сами каталоги (, предположительно, чтобы восстановить их в месте, где структура каталогов должна существовать, но может иметь другие разрешения ). В этом случае опережающий ./не повредит.

0
01.03.2021, 17:28
1 ответ

Чтобы решить эту проблему, вам нужно сделать следующее::

просто отредактируйте файл /etc/mysql/mysql.conf.d/mysqld.cnf с помощью любого редактора, который вам нравится, и обновите адрес привязки с помощью любого редактора, который вам нравится. ниже приведена строка, которую необходимо обновить, указав правильный/обновленный IP-адрес. потому что, когда вы запускаете новый экземпляр EC2 с помощью резервного образа AMI или моментального снимка, он получает новый частный IP-адрес (, если вы ранее не сделали его статическим в конфигурации вашей ОС.)

привязать -адрес = 192.168.XXX.XXX

Затем перезапустите службу mysql с помощью приведенной ниже команды, и все начнет работать как раньше, включая консоль PHP My Admin.

перезапуск systemctl mysql.service

0
18.03.2021, 22:28

Теги

Похожие вопросы