А грамотные mysql админы тут бывают?
7318
13
Сэймэй
просветлённый
Собственно есть глюк с параллельным запуском двух мускулов с разными БД на одной машинке.
Хотелось бы проконсультироваться, есть тут кто имеющий опыт?
Хотелось бы проконсультироваться, есть тут кто имеющий опыт?
А нафига их 2 запускать ? Что мешает создать 2 базы и развесить пермишины в одной копии ?
потому что надо именно два - на разных винтах в разных процессах )
На разных винтах и в одном процессе можно .)
Но уж если так приспичело 2 процесса, то во вторм поменяйте в my.cnf параметр
port = 3306
наприсер на
port = 3307
ну и соответственно коннектится уже к новому порту.
Но уж если так приспичело 2 процесса, то во вторм поменяйте в my.cnf параметр
port = 3306
наприсер на
port = 3307
ну и соответственно коннектится уже к новому порту.
ну вообще-то я начал вопрос с того что есть глюки
итак можно запустить хоть через два mysqld_safe с указанием кончигов разных, хоть через один мультиконфиг через mysqld_multi - запускается одинаково хорошо, обслуживает типа на двух портах/сокетах
глюк проявляется такой
при коннекте через сокет - два разных мускула - хоть с /usr/bin/mysql хоть с клиентов на php или сях
а вот при коннекте через tcp - глюк ацкий
коннект к 3306 - проходит, коннект ко второму на 4306 - проходит
но при коннекте через tcp - попадаешь в один и тот же мускул в итоге - т.е. в набор баз который на 3306 висит - он же выдается через 4306, хотя там в конфиге совершенно другая база
а через сокеты - в два разных как и требуется, т.е. тупо один и тот же конфиг, просто два разных способа коннекта - и в итоге в одном случае это два разных мускула, а во втором - один )
вот такой непотребный глюк
итак можно запустить хоть через два mysqld_safe с указанием кончигов разных, хоть через один мультиконфиг через mysqld_multi - запускается одинаково хорошо, обслуживает типа на двух портах/сокетах
глюк проявляется такой
при коннекте через сокет - два разных мускула - хоть с /usr/bin/mysql хоть с клиентов на php или сях
а вот при коннекте через tcp - глюк ацкий
коннект к 3306 - проходит, коннект ко второму на 4306 - проходит
но при коннекте через tcp - попадаешь в один и тот же мускул в итоге - т.е. в набор баз который на 3306 висит - он же выдается через 4306, хотя там в конфиге совершенно другая база
а через сокеты - в два разных как и требуется, т.е. тупо один и тот же конфиг, просто два разных способа коннекта - и в итоге в одном случае это два разных мускула, а во втором - один )
вот такой непотребный глюк
[root@srv-bsd-01:/home/user]$ cat /etc/multi.cnf
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
password = multipass
[mysqld1]
port = 3306
socket = /var/lib/mysql/mysql.sock
server-id = 1
datadir=/disk2/mysql
user=mysql
slow_query_log_file = /disk2/mysql/slow_query.log
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
key_buffer_size = 128M
max_allowed_packet = 16M
table_open_cache = 4
sort_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size = 256K
net_buffer_length = 256K
thread_stack = 256K
max_sp_recursion_depth = 255
query_cache_size = 112M
query_cache_limit = 16M
thread_cache_size = 4
table_cache = 56
innodb_buffer_pool_size = 512M
innodb_log_file_size = 1024M
max_allowed_packet = 256M
wait_timeout = 10000
interactive_timeout = 10000
symbolic-links=0
[mysqld2]
port = 4306
socket = /var/lib/mysql/mysqlfast.sock
server-id = 2
datadir=/sdd/mysql
user=mysql
slow_query_log_file = /sdd/mysql/slow_query.log
log-error=/sdd/mysql/mysqld.log
pid-file=/var/lib/mysql/mysqldfast.pid
key_buffer_size = 128M
max_allowed_packet = 16M
table_open_cache = 4
sort_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size = 256K
net_buffer_length = 256K
thread_stack = 256K
max_sp_recursion_depth = 255
query_cache_size = 112M
query_cache_limit = 16M
thread_cache_size = 4
table_cache = 56
innodb_buffer_pool_size = 512M
innodb_log_file_size = 1024M
max_allowed_packet = 256M
wait_timeout = 10000
interactive_timeout = 10000
symbolic-links=0
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
password = multipass
[mysqld1]
port = 3306
socket = /var/lib/mysql/mysql.sock
server-id = 1
datadir=/disk2/mysql
user=mysql
slow_query_log_file = /disk2/mysql/slow_query.log
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
key_buffer_size = 128M
max_allowed_packet = 16M
table_open_cache = 4
sort_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size = 256K
net_buffer_length = 256K
thread_stack = 256K
max_sp_recursion_depth = 255
query_cache_size = 112M
query_cache_limit = 16M
thread_cache_size = 4
table_cache = 56
innodb_buffer_pool_size = 512M
innodb_log_file_size = 1024M
max_allowed_packet = 256M
wait_timeout = 10000
interactive_timeout = 10000
symbolic-links=0
[mysqld2]
port = 4306
socket = /var/lib/mysql/mysqlfast.sock
server-id = 2
datadir=/sdd/mysql
user=mysql
slow_query_log_file = /sdd/mysql/slow_query.log
log-error=/sdd/mysql/mysqld.log
pid-file=/var/lib/mysql/mysqldfast.pid
key_buffer_size = 128M
max_allowed_packet = 16M
table_open_cache = 4
sort_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size = 256K
net_buffer_length = 256K
thread_stack = 256K
max_sp_recursion_depth = 255
query_cache_size = 112M
query_cache_limit = 16M
thread_cache_size = 4
table_cache = 56
innodb_buffer_pool_size = 512M
innodb_log_file_size = 1024M
max_allowed_packet = 256M
wait_timeout = 10000
interactive_timeout = 10000
symbolic-links=0
Попробуйте на разные инстансы разных юзеров прописать.
тоже самое - через сокет ок, через tcp - одна база на двоих
Хотелось бы читать написанное по-русски, а не отфонарный жаргон, но это так, просто неприятно.
А что прописано в настройках TCP по поводу портов, может где-то там "не то"? К сожалению не администратор, поэтому только догадки...
просто, если через сокет работает нормально, а только через tcp глючит, то надо смотреть наверное в ту сторону... типа ifconfig или чего там есть...
А что прописано в настройках TCP по поводу портов, может где-то там "не то"? К сожалению не администратор, поэтому только догадки...
просто, если через сокет работает нормально, а только через tcp глючит, то надо смотреть наверное в ту сторону... типа ifconfig или чего там есть...
написано все по русски, если не админ - поэтому и не понятно
Хотелось бы читать написанное по-русски, а не отфонарный жаргон, но это так, просто неприятно.[Root @ SRV-BSD-01 :/Главная страница/] $ кот/и т.д./multi.cnf
[туздЫ_мульти]
туздЫ = /USR/бен/туздЫ_безопасно
mysqladmin = /USR/бен/mysqladmin
пользователь = корень
пароль = многопроходный
[mysqld1]
порт = 3306
Гнездо = /var/Библиотека/MySQL/mysql.sock
Сервер-ID = 1
каталогу_данных = /disk2/mysql
Пользователь = MySQL
медленно_запрос_лог_файл = /disk2/mysql/slow--query.log
Журнал-ошибок = /var/log/mysqld.log
PID-файл = /var/run/туздЫ/mysqld.pid
ключ_буфера_размер = 128M
Макс_допускается_пакет = 16M
стол_открытые_кэш = 4
рода_буфера_размер = 8M
читать_буфера_размер = 8M
читать_RND_буфера_размер = 256
NET_буфер_длина = 256
нить_стек = 256
Макс_SP_рекурсия_глубина = 255
Запрос_кэш_размер = 112M
Запрос_кэш_предел = 16M
поток_кэш_размер = 4
стол_кэш = 56
InnoDB_буфер_бассейн_размер = 512
InnoDB_лог_файл_размер = 1024M
Макс_допускается_пакет = 256
ожидания_ожидания = 10000
интерактивный_тайм-аут = 10000
символические-ссылки = 0
[mysqld2]
порт = 4306
Гнездо = /var/Библиотека/MySQL/mysqlfast.sock
Сервер-ID = 2
каталогу_данных = /SDD/MySQL
Пользователь = MySQL
медленно_запрос_лог_файл = /SDD/MySQL/медленно_query.log
Журнал-ошибок = /SDD/MySQL/mysqld.log
PID-файл = /var/Библиотека/MySQL/mysqldfast.pid
ключ_буфера_размер = 128M
Макс_допускается_пакет = 16M
стол_открытые_кэш = 4
рода_буфера_размер = 8M
читать_буфера_размер = 8M
читать_RND_буфера_размер = 256
NET_буфер_длина = 256
нить_стек = 256
Макс_SP_рекурсия_глубина = 255
Запрос_кэш_размер = 112M
Запрос_кэш_предел = 16M
поток_кэш_размер = 4
стол_кэш = 56
InnoDB_буфер_бассейн_размер = 512
InnoDB_лог_файл_размер = 1024M
Макс_допускается_пакет = 256
ожидания_ожидания = 10000
интерактивный_тайм-аут = 10000
символические-ссылки = 0