В настоящее время я пытаюсь автоматизировать очистку и переустановку MySQL в Ubuntu (для Vagrant).Тем не менее, я сталкиваюсь с различными проблемами с этим.
Вот что у меня есть:
# Удалить старую версию MySQL
sudo systemctl остановить mysql
sudo apt-get удалить mysql-* -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y
sudo rm -rf /etc/mysql/var/lib/mysql/var/log/mysql
# ...
# Займитесь другими делами.
# ...
# Установите последнюю версию MySQL, см.
# https://gist.github.com/kpietru/a3cb08ee074a4418795a
MYSQL_PASSWORD="корень"
экспортировать MYSQL_PASSWORD="$MYSQL_PASSWORD"
sudo ожидать -c '
spawn apt-get install -y mysql-сервер
ожидать "*пароль* пользователя:"
отправить "$env(MYSQL_PASSWORD)\r"
ожидать "*пароль* пользователя:"
отправить "$env(MYSQL_PASSWORD)\r"
ожидать "\ г"
отправить "ввод\r"
взаимодействовать
sudo systemctl размаскировать mysql.service
запуск службы sudo mysql
mysql --версия
Это работает, и мой Vagrant box загружается просто отлично. Однако, когда я пытаюсь использовать MySQL так:
mysql-uroot-proot
Я получаю сообщение об ошибке, связанное с сокетом (см. https://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through-socket-var-run-mysqld-mysq). Я не хочу исправлять здесь ошибку. Я хочу, чтобы предыдущие сценарии работали правильно. Поэтому я не буду залезать в кроличью нору исправления ошибки сокета.
Моей первой интуицией было использовать sudo apt-get purge -y mysql-*
вместо Удалить
, но тогда я должен автоматизировать быстрые ответы с помощью ожидать
. Я пытался сделать это с автоожидание
, но ожидать
Сгенерированный скрипт не работает.
Вы можете мне помочь? Есть ли что-нибудь еще, что я могу попробовать?
Заранее спасибо и ура