LINUX.ORG.RU
ФорумAdmin

MySQL 5.5 и Percona 5.7 на одном сервере

 , , ,


0

1

Привет!

Вопрос по сабжу. Я опять поднимаю почтовик, но postfix-mysql с percona 5.7 падает с insufficient memory

Т.е. по сути дела проблема похожая на эту

https://www.percona.com/forums/questions-discussions/mysql-and-percona-server...

С той лишь разницей, что у меня CentOS и... да вы угадали Битрикс в придачу.

Можно, конечно, поставить для постфикса постгрес и особо не париться. Но все же.

Обмазываться docker'ом не предлагать.

Что делать, запустить их на разных портах?

При условии, что мускуль ставить из Remi Software Collections.

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 3)

Можешь марию опробовать - по себе скажу как замена mysql вполне неплоха.
Не помню, что бы postfix'у требовалась именно percona. Почтовику вообще до лампочки какой database использовать mysql, mariadb, percona, postfix or another db.

Atlant ★★★★★
()
Ответ на: комментарий от Atlant

Не, ты не понял. Те папуасы, которые собирают «Битрикс ВебОкружение» насильно пропихивают Percona 5.7. А постфикс с ней не работает смотри ссылку выше.

Я вчера смотрел багтрекер там именно в 5.7 появилась эта регрессия.

Twissel ★★★★★
() автор топика
Ответ на: комментарий от Atlant

постфиксу вообще пофиг на чем запускаться. С какой СУБД работать Вот я и думаю дернуть слона за хобот, а не дельфина за плавник :-)

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от Twissel

Ну поставь другой версии, где нет этой регрессии.

imul ★★★★★
()

Так по ссылке проблема с пакетом postfix-mysql, и percona тут конечно не причем.
По сабжу просто поставь другую версию percona, 5.6 или 5.5 например. Похожий баг вот: https://bugs.launchpad.net/percona-xtradb-cluster/ bug/1478833
Вообще тебе нужен postfix-mysql слинкованный с libmysqlclient.so.20 как я понял. В Ubuntu xenial такой и есть, тебе просто нужно собрать слинкованный с mysql/percona 5.7, но пакет в centos.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

Да оно и понятно. Просто это самое ВебОкружение похоже на кусок говна веб-панели. Я вчера после даунгрейда базы ловил кучу глюков. Хоть база тестовая, а не продакшен. Короче, я пока наворачиваю postgresql .

Twissel ★★★★★
() автор топика
Ответ на: комментарий от anonymous_sama
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1

Как этот запрос должне правильно выглядеть в постгрес, там, емнип, это оператор | | только куда его тулить?

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от Twissel
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '%u'||'@'||alias_domain.target_domain AND alias.active = 1

?

Но чую не то это, да и goto меня смущает :-)

Twissel ★★★★★
() автор топика
Ответ на: комментарий от anonymous_sama

Похоже бредово оно конвертирует.

Хотя бы потому, что я не вижу отличий и в постгресе нету оператора concat

Правда, я кое-что нагуглил.

Twissel ★★★★★
() автор топика
Ответ на: комментарий от anonymous_sama

Правильный запрос действительно

SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' AND alias.address =('%u' || '@' || alias_domain.target_domain) AND alias.active = TRUE

Но теперь опять вылезла старая история, в maillog

warning: pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf lookup error for "user@example.com"

postmap -q user@example.com pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf

Тоже пусто :-\ MrClon, куда копать в этом случае, с постгресом?

Twissel ★★★★★
() автор топика
Ответ на: комментарий от Twissel

В конфиге постгреса.

listen_addresses = 'localhost'

Twissel ★★★★★
() автор топика
Ответ на: комментарий от MrClon

smtpd -v или еще чего?

main.cf на всякий случай.

Вдруг просто опечатка мало ли...

soft_bounce = no
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix

myhostname = mail.vsesvit.shop
mydomain = vsesvit.shop
myorigin = $myhostname

inet_interfaces = all
inet_protocols = ipv4

mydestination = localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

smtpd_banner = $myhostname ESMTP $mail_name

debug_peer_level = 2
# Строки с PATH и ddd должны быть с отступом в виде табуляции от начала строки
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES

relay_domains = pgsql:/etc/postfix/pgsql/relay_domains.cf
virtual_alias_maps = pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf,
 pgsql:/etc/postfix/pgsql/virtual_alias_domain_maps.cf
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql/virtual_mailbox_domains.cf
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf

smtpd_discard_ehlo_keywords = etrn, silent-discard
smtpd_forbidden_commands = CONNECT GET POST
broken_sasl_auth_clients = yes
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtp_always_send_ehlo = yes
disable_vrfy_command = yes

smtpd_helo_restrictions = permit_mynetworks,
 permit_sasl_authenticated,
 reject_non_fqdn_helo_hostname,
 reject_invalid_helo_hostname

smtpd_data_restrictions = permit_mynetworks,
 permit_sasl_authenticated,
 reject_unauth_pipelining,
 reject_multi_recipient_bounce,

smtpd_sender_restrictions = permit_mynetworks,
 permit_sasl_authenticated,
 reject_non_fqdn_sender,
 reject_unknown_sender_domain

smtpd_recipient_restrictions = reject_non_fqdn_recipient,
 reject_unknown_recipient_domain,
 reject_multi_recipient_bounce,
 permit_mynetworks,
 permit_sasl_authenticated,
 reject_unauth_destination,
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtpd_tls_key_file = /etc/postfix/certs/key.pem
smtpd_tls_cert_file = /etc/postfix/certs/cert.pem
tls_random_source = dev:/dev/urandom

# Ограничение максимального размера письма в байтах
message_size_limit = 20000000
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 15
smtpd_error_sleep_time = 20
anvil_rate_time_unit = 60s
smtpd_client_connection_count_limit = 20
smtpd_client_connection_rate_limit = 30
smtpd_client_message_rate_limit = 30
smtpd_client_event_limit_exceptions = 127.0.0.0/8
smtpd_client_connection_limit_exceptions = 127.0.0.0/8

maximal_queue_lifetime = 1d
bounce_queue_lifetime = 1d

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth

# Директория для хранения почты
virtual_mailbox_base = /var/vmail
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

#sender_bcc_maps = hash:/etc/postfix/sender_bcc_maps
#recipient_bcc_maps = hash:/etc/postfix/recipient_bcc_maps

#smtpd_milters = inet:127.0.0.1:8891
#non_smtpd_milters = $smtpd_milters
#milter_default_action = accept
#milter_protocol = 2

Twissel ★★★★★
() автор топика
Ответ на: комментарий от MrClon

virtual_alias_maps.cf

hosts = localhost
user = postfix
password = super_password
dbname = postfix
query = SELECT goto FROM alias WHERE address= '%s' AND active = 'TRUE'
Twissel ★★★★★
() автор топика
Ответ на: комментарий от Twissel
connect to pgsql server localhost: could not translate host name "localhost" to address: Name or service not known?


А если заменить hosts = localhost на hosts = 127.0.0.1?

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Это старая запись в логе, вроде как, но сейчас заменю.

Я пока грешу, что где-то или схема шифрования не та, или права на базу в постгресе.

Twissel ★★★★★
() автор топика
Ответ на: комментарий от MrClon

Как ни странно, схема шифрования пароля в БД.

Twissel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.