Авторские статьи

Разработчики зовут на тесты MySQL.


Бесконечно рад и доволен, что сами разработчики MySQL хотят представить своё детище в формате snap, минуя сопровождающих. Прошло немного времени с поры "мы замочили ножки" и вот уже клич для сообщества - все на тестирование MySQL в snap пакете. Поможем!?

Tracks and Channels

Прежде чем начать, нужно ознакомится с нововведением в лице треков (Tracks) и как они связаны с каналами (Channels).

Сначала напомню про каналы распространения софта. Их 4 штуки: stable, candidate, beta, edge. Если снапкрафтер, тот кто пакует софт с помощью утилиты snapcraft, не справился до конца с софтом и программа внутри snap не может работать в строгом ограничении (confinement: strict), то на канал stable такой snap пакет не попадёт и не будет доступен пользователям через графическую Ubuntu Software. Такой snap пакет через Ubuntu Store можно установить только в Терминале, заранее зная его имя и конкретно указывая канал, к примеру для бета канала sudo snap install --channel=beta app-name-in-confinement-devmode или кратко sudo snap install --beta app-name-in-confinement-devmode

Но использование только лишь одних каналов делало эту схему не гибкой. Разработчики ввели понятие трека. Вместе, треки и каналы, позволяют распространять несколько версий одного и того же snap пакета, что даёт пользователям возможность получать автоматическое обновление той серии, что их интересует.

track и channels

По умолчанию snap пакет публикуется на треке latest, что даёт совместимость со старым поведением и пользователь, указывая snap install --beta my-app неявно подразумевает snap install --channel=latest/beta

В каждом треке, снапкрафтер может публиковать снап пакет на каналах stable, candidate, beta и edge. На иллюстрации выше приведён классический пример, когда автор создаёт трек 2.0 для своего программного детища v2.0, чтобы пользователи, которые захотят остаться именно на данном релизе, смогут это сделать.

Вся информация о вышеописанной концепции трек/канал была вам дана ради понимания почему команда MySQL вместо использования канала edge под релиз mysql 8.0 и канала beta под 5.7, перешла на нотацию:
sudo snap install mysql --channel=8.0/beta
sudo snap install mysql --channel=5.7/beta

То есть команда MySQL создала 2 трека под свои 2 релиза и у каждого трека есть свой канал beta, на которых пока лежат обкатываемые релизы. Как только тесты с помощью сообщества будут признаны удовлетворительными, соответствующие релизы mysql появятся на своих каналах stable соответствующих треков.

Что нужно от нас? На множестве различных машин, с различными версиями и дериватами Ubuntu, в различных Linux дистрибутивах где работает демон snapd, разработчики MySQL просят сделать пару телодвижений и дать наш feedback.

К примеру, хотим заценить MySQL 8.0.
Ставим - sudo snap install mysql --channel=8.0/beta
Подверьтесь командой sudo snap interfaces | grep mysql, что mysql был автоматически подключён ко всем интерфейсам, что он запросил из своего snapcraft.yaml. Парни из MySQL и Canonical уладили вопрос с автосоединением к интерфейсу process-control, но как они это сделали не знаю. Моя Ubuntu 17.04 и snapd 2.22.7+17.04 показывают мне:

:network                  mysql
:network-bind             mysql
:process-control          mysql

Если у вас что-то не так, то соедините мускуль к управлению процессами - sudo snap connect mysql:process-control ubuntu-core:process-control

Читаем помощь - mysql.help

MySQL Snap Image

= MySQL Snap Image =
The MySQL snap image is an experimental release of MySQL for the snap universal Linux package system.
This image should be used for testing only, and is not suitable for a production environment.

== Commands ==
[...]

Запускаем сервер - mysql.startup

Generating config file in /home/ваша_учётная_запись/snap/mysql/common/conf/my.cnf...
Done
Initializing new database in /home/ваша_учётная_запись/snap/mysql/common/data...
Done
2017-01-05T05:19:05.178633Z 4 [Note] A temporary password is generated for root@localhost: $temp_password
Starting server...

Сервер удержит терминал и поэтому откройте ещё один. Там командуйте для запуска монитора MySQL - mysql.client -uroot -p и берите пароль из вышестоящей команды вместо $temp_password. Если всё хорошо, то увидите что-то типа:

Using config file: /home/ваша_учётная_запись/snap/mysql/common/conf/my.cnf
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 8.0.0-dmr
[...]
mysql> 

Получите помощь через команду help.

mysql> help

For information about MySQL products and services, visit:
   www.mysql.com
For developer information, including the MySQL Reference Manual, visit:
   dev.mysql.com
To buy MySQL Enterprise support, training, or other products, visit:
   shop.mysql.com

List of all MySQL commands:
[...]

Смените пароль для root MySQL! Обязательно!

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'mYSuperPa$$wdR00tMySQL';
Query OK, 0 rows affected (0.02 sec)

Сделайте запрос

mysql> SELECT VERSION(), CURRENT_DATE;
+-----------+--------------+
| VERSION() | CURRENT_DATE |
+-----------+--------------+
| 8.0.0-dmr | 2017-01-04   |
+-----------+--------------+
1 row in set (0.00 sec)

Получите информацию об базах данных

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

Создайте базу данных

mysql> CREATE DATABASE menagerie;
Query OK, 1 row affected (0.05 sec)

Переключитесь на неё

mysql> USE menagerie
Database changed

Создайте таблицу

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
Query OK, 0 rows affected (0.23 sec)

Вставьте строку

mysql> INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Query OK, 1 row affected (0.21 sec)

Выведите строку на экран

mysql> SELECT * FROM pet WHERE name = 'Puffball';
+----------+-------+---------+------+------------+-------+
| name     | owner | species | sex  | birth      | death |
+----------+-------+---------+------+------------+-------+
| Puffball | Diane | hamster | f    | 1999-03-30 | NULL  |
+----------+-------+---------+------+------------+-------+
1 row in set (0.00 sec)

Завершите работу с монитором

mysql> QUIT
Bye

Если что-то работает плохо или не работает вовсе, обновите свою систему sudo apt update && sudo apt-get dist-upgrade; sudo snap refresh, перезагрузитесь и повторите шаги снова. Если ошибка повторяется, то соберите информацию о своей операционной системе: её версия, используемая среда рабочего стола, версия snapd, шаги и текст ошибки. Свой отчёт и проблему можно описать в одной из комнат RocketChat.

Дата последней правки: 2023-12-27 11:55:13

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта