|
|
|
| На одном компе c XP "поднимаю" (из разных папок) несколько процессов (три) с разными портами 3306, 3307, 3308. Каждая копия лежит отдельно. У каждого свой ini. Все пути прописанны, в start.bat и в stop.bat тоже! Порты указанны явно.
----------------------------------------------------
пример одного из ini:
# my.cnf
[client]
user=
password=
port=3307
character-sets-dir=c:/opus/server/share/charsets
[mysqld]
port=3307
skip-locking
skip-innodb
default-character-set=cp1251
set-variable = key_buffer=16M
set-variable = max_allowed_packet=1M
set-variable = thread_stack=128K
set-variable = flush_time=1800
basedir = c:/opus/server/
datadir = c:/opus/server/data/
#log
#log-update
---------------------------------------------------
Статуем так:
echo MySQL Server is starting on %COMPUTERNAME%.
echo Hint: To stop DB server, please, run stop.bat
c:\opus\server\bin\mysqld --defaults-file=c:\opus\server\my.ini
--------------------------------------------------
Тормозим так:
echo MySQL Server is stopping.
c:\opus\server\bin\mysqladmin --defaults-file=c:\opus\server\my.ini shutdown
paus
--------------------------------------------------
Проблема:
Запускаем "свой" stop.bat, лежащий в папке с портом 3307, а вылетает процес из другой папки с портм (например) 3306. Потом ещё раз тот же stop.bat - вылетает свой 3307, а последний ругается и не стопится. При разных комбинациях в последовательности запуска процессов - разные варианты стопов!
Спомогите кто-нить! Я не sys, я - lamer | |
|
|
|
|
|
|
|
для: prot
(01.05.2009 в 09:30)
| | Нужно работать именно через непосредственный запус файла? Сервисы использовать нельзя (их тоже можно через bat-файлы запускать и останавливать)? | |
|
|
|
|
|
|
|
для: cheops
(01.05.2009 в 12:45)
| | Есть запуск, как сервис. Я этим не пользовался, думал с *.bat будет проще.
Я хотел ночью останавливать базы (не все) по списку и делать бекап.
Баз могет быть штук 30-40 (они маленькие), а лазить по сервисам я не мастак! У меня есть образец *.bat с сервисами:
---------------------------------------------------------------------------------------------
@rem ntinstall.bat
@rem Сценарий установки СУБД MySQL
@rem в качестве системного сервиса для Windows NT, 2000, XP
@echo off
mysqld-nt --install
echo File my.ini is copying to windows directory
copy ..\my.ini %WINDIR%
NET START mysql
pause
--------------------------------------------------------------------------------------------
@rem ntremove.bat
@rem Сценарий удаления СУБД MySQL
@rem в качестве системного сервиса для Windows NT, 2000, XP
@echo off
NET STOP mysql
mysqld-nt --remove
del %WINDIR%\my.ini
pause
------------------------------------------------------------------------------------------
а если их много? Они будут дружить? И я, что-то не вижу, как сервисы "видят", какой их порт, какой чужой! В первом варианте вроде --defaults-file= явно отправляет по пути каждого к своему *.ini, где прописан port. И команда есть shutdown а, чё-то яботает криво!
Дополнение:
Есть зависимость от последовательности запусков.
1)делаю три start.bat - типа start_3306.bat, start_3307.bat, ...8
делаю три stop.bat - типа stop_3306.bat, stop_3307.bat, ...8
2) запускаю последовательно 6..7..8,
3) а теперь shutdown
...если стопить (запускаем его три раза подряд) файлом от 3308, то останавливаются все последовательно, начиная с 3306, затем 3307, ну и себя любимого 3308.
.... Если пускаем stop_3307.bat, стопим вначале 3306, затем "себя" т.е. 3307, а вот 3308 -не хочет, ругается на порт.
...Ну и соответственно stop_3306.bat стопит только себя, а два других, которые было подняты после него - отказ. | |
|
|
|