Установка Mysql на виртуальной машине под управлением Alpine

#mysql #alpine

#mysql #alpine-linux

Вопрос:

Я пытаюсь установить и использовать mysql на Alpine. Я использую Docker для создания виртуальной машины в Alpine. Мой Dockerfile действительно прост :

 FROM alpine:3.11.3

CMD sh
  

Как только я запустил созданный образ (используя docker build // docker run image_id), я устанавливаю Mysql :

 apk add --update --upgrade mysql mysql-client
  

Затем я устанавливаю базу данных :

 mysql_install_db
  

Проблема в том, что как только я это сделаю, и я пытаюсь «mysql», машина возвращает это :

 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)
  

И когда я пытаюсь выполнить «mysqld -u root», он возвращает мне эту проблему :

 2020-08-26 10:07:55 0 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2020-08-26 10:07:55 0 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
2020-08-26 10:07:55 0 [ERROR] Can't start server : Bind on unix socket: No such file or directory
2020-08-26 10:07:55 0 [ERROR] Do you already have another mysqld server running on socket: /run/mysqld/mysqld.sock ?
2020-08-26 10:07:55 0 [ERROR] Aborting
  

Я понял, что файл mysqld.sock служит серверу для обсуждения с клиентом. Я попытался создать каталог mysqld, а затем создать файл mysqld.носок, но это не работает. Он возвращает мне ту же ошибку, но с другим возвращаемым значением.

 (ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (111)
  

По крайней мере, я не хочу использовать существующий образ mysql на Dockerhub.

У кого-нибудь есть представление о том, какого шага не хватает, чтобы заставить его работать?

Извините, если я неправильно пишу, я не являюсь носителем английского языка.

Ответ №1:

Я смог успешно установить и запустить mysql в контейнере Alpine с помощью этих команд:

 $ docker run -it --rm alpine:latest

/ # apk add mysql mysql-client
/ # mkdir /run/mysqld
/ # mysql_install_db
/ # mysqld -u root --data=./data amp;> /dev/null amp;
  

Тестирование подключения:

 / # mysql -e "SELECT VERSION();"
 ---------------- 
| VERSION()      |
 ---------------- 
| 10.6.4-MariaDB |
 ----------------