Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL 8.0.22 Portable / 6 сообщений из 6, страница 1 из 1
20.10.2020, 16:22
    #40010194
Arzumanyan Karen Raphaelovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL 8.0.22 Portable
Приветствую.

Замучился искать решение. Надеюсь на помощь.
Суть дела следующая:
- Есть хорошая статься по подготовке портативного MySQL ( https://andew.ru/pages/page/installing-mysql-on-windows-from-zip-archive.php ). По мотивам которой я когда то подготовил MySQL-5.7.22-x64-Portable. Так вот с версией 5.7.22 всё работало замечательно, для задуманных целей успешно применялось.
- Сегодня решил обновить версию, ибо надо. И сделал всё то же с небольшими правками ini-файла, в связи с устареванием некоторых параметров, на основе свежей версии 8.0.22.

Проблема:
- На версии 5.77.2 при запуске D:\MySQL-5.7.22-x64-Portable\bin\mysqld мелькала и пропадала консоль после чего в фоне продолжал работать процесс mysqld.exe. До момента выполнения команда остановки D:\MySQL-5.7.22-x64-Portable\bin\mysqladmin -u root -p shutdown. Всё было хорошо.
- Но вот на версии 8.0.22 уже не так прекрасно. Дело в том, что после старта кроме того, что работает процесс mysqld.exe он ещё зачем-то запускает дочерним conhost.exe и весит незакрытая консоль. Если закрыть консоль, то вместе с ней и завершается процесс mysqld.exe, но если убить процесс conhost.exe, то консоль пропадает, а процесс mysqld.exe продолжает работать. Что и требуется.
Собственно в этом и проблема и соответственно вопрос.

Как запустить 8.0.22 так чтобы не было этого консольного окна. Т.е. так чтобы было как с версией 5.77.2. Может какой параметр есть, я уже сбился в поисках.

Заранее спасибо!
...
Рейтинг: 0 / 0
20.10.2020, 20:01
    #40010306
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL 8.0.22 Portable
Arzumanyan Karen Raphaelovich,

Windows ////
это обычная ситуация при запуске службы (процесса, демона или как угодно) сервера MYSQL под ОС Виндоуз.
Допустим скачали Сервер без установки MySql-win---- .ZIP, распаковали, настроили my.ini (указали только две строки, условно сервер в D:/DB/mysql-8.0)
Код: sql
1.
2.
3.
[mysqld]
basedir=D:/DB/mysql-8.0
datadir=D:/DB/mysql-8.0/data


далее запустили в cmd (@командная строка в Windows@) из каталога D:/DB/mysql-8.0/bin
Код: sql
1.
cmd>D:/DB/mysql-8.0/bin/mysqld --console

естественно в этом Окне и запускается процесс-служба MySQL. ПРи закрытии cmd-Окна вы закрываете службу-процесс.
Ситуация простая - сверните окно с этим запуском и работайте дальше. Возможно в предыдущей редакции этот запуск сервера был оформлен иначе "внутри" портейбла. На самом деле это совершенно не нужно для работы и экспериментов.
...
Рейтинг: 0 / 0
20.10.2020, 20:27
    #40010320
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL 8.0.22 Portable
На самом деле это совершенно не нужно не важно для работы и экспериментов в портейбл версии.
...
Рейтинг: 0 / 0
21.10.2020, 09:01
    #40010406
Arzumanyan Karen Raphaelovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL 8.0.22 Portable
Alex_Ustinov
Arzumanyan Karen Raphaelovich,
...
естественно в этом Окне и запускается процесс-служба MySQL. ПРи закрытии cmd-Окна вы закрываете службу-процесс.
Ситуация простая - сверните окно с этим запуском и работайте дальше. Возможно в предыдущей редакции этот запуск сервера был оформлен иначе "внутри" портейбла. На самом деле это совершенно не нужно для работы и экспериментов.


Это всё понятно.
Но всё не так просто. На самом деле сделан запуск через bat/cmd файлы.
Для старта:
start.cmd или start.bat
Код: powershell
1.
2.
3.
@echo off
start D:\MySQL-8.0.22-x64-Portable\bin\mysqld
exit


Для остановки:
stop.cmd или stop.bat
Код: powershell
1.
2.
3.
@echo off
start D:\MySQL-8.0.22-x64-Portable\bin\mysqladmin -u root -p shutdown
exit


Портативный вариант могут использовать и чаще всего используют те кому консольное окно может мешать и сложно объяснять почему оно и почему его нельзя трогать и т.п.

Так вот при старте ранее консоль не оставалась висеть на экране, а теперь да. Что чаще всего будет приводить к её закрытию тем кто запустит, явно либо случайно и в итоге потушит MySQL, что хотелось бы избежать и оставить сценарий использования как в старой версии (запуск через файл и остановка через файл).

PS: Ведь в 5.7.22 всё работало как надо, значит либо есть какой-то параметр для запуска, либо они что-то безвозвратно изменили, либо что-то ещё.
...
Рейтинг: 0 / 0
21.10.2020, 10:27
    #40010418
Arzumanyan Karen Raphaelovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL 8.0.22 Portable
Нашёл не совсем красивое но вполне рабочее решение.
Через утилиту NirCmd от NirSoft https://www.nirsoft.net/utils/nircmd.html
Использовал вариант именно nircmd.exe так-как с nircmdc.exe консольное окно остаться (вариант nircmdc.exe описан на сайте как консольный).

Изменил командный файл запуска на следующий вид:
Код: powershell
1.
2.
3.
@echo off
nircmd exec hide D:\MySQL-8.0.22-x64-Portable\bin\mysqld
exit


Так всё работает как мне нужно и при этом нет никакого консольного окна, и в процессах не висит conhost.exe.

На будущее, если у кого будут идеи как обойтись без чего-то стороннего буду очень благодарен. NirCmd конечно рабочее решение но что-то мне подсказывает, что можно было обойтись и без него, а прямым запускам с каким-то параметром.
...
Рейтинг: 0 / 0
21.10.2020, 18:41
    #40010653
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL 8.0.22 Portable
Arzumanyan Karen Raphaelovich,

https://docs.microsoft.com/en-us/sysinternals/downloads/psexec
это наверное кашерней должно быть
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL 8.0.22 Portable / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]