• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[DEBIAN] MariaDB serwer - czy iptables może odrzucać zewnętrzne połączenia?

VPS Starter Arubacloud
0 głosów
196 wizyt
pytanie zadane 26 marca 2018 w Systemy operacyjne, programy przez arek01996 Stary wyjadacz (12,100 p.)

Witam,

Jak w temacie. Mam MariaDB na serwerze (A) i gdy próbuję się połączyć z tym serwerem z innego (B) wszystko działa. Ale kiedy ruch odrobinkę na (B) wzrośnie nie może się połączyć z  MariaDB w (A)  jest komunikat Mysql has gone away.

Czy może to być wina FireWall czy może czegoś innego?

 

Dodatkowo z serwera (A):

root@xxx:/home/x# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql state NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --

 

1 odpowiedź

0 głosów
odpowiedź 26 marca 2018 przez hoktaur Pasjonat (22,250 p.)

w iptables masz żeby wszystko akceptował, możesz jeszcze pokazać dla świętego spokoju

iptables -t nat -L

Pytanie czy możesz użyć komputera C żeby zweryfikować że problem nie leży na B?

komentarz 26 marca 2018 przez arek01996 Stary wyjadacz (12,100 p.)

root@xxx:/etc/mysql# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Mogę oczywiście. Co mogę zrobić?

komentarz 26 marca 2018 przez hoktaur Pasjonat (22,250 p.)
ok spr teraz czy problem z łączeniem który opisujesz występuje na kompie C tak jak na B
komentarz 26 marca 2018 przez arek01996 Stary wyjadacz (12,100 p.)
Tak samo. Również występuje ten błąd :/

Zwariuje... Na prawdę już nie wiem dlaczego tak się dzieje.

 

Dodam, że na serwerze z MySQL łącząc się lokalnie działa cały czas.
komentarz 26 marca 2018 przez Luna Cognita Dyskutant (8,130 p.)
Pokaż konfigurację bazy danych, co to znaczy "większy" ruch? 10k req/ps czy 100?
komentarz 26 marca 2018 przez hoktaur Pasjonat (22,250 p.)
Zajrzyj tu: https://dev.mysql.com/doc/refman/5.7/en/gone-away.html i spróbuj przerobić krok po kroku
komentarz 26 marca 2018 przez arek01996 Stary wyjadacz (12,100 p.)

Wystarczy ponad 400req/ps osób żeby gubił połączenia. 

Z tego serwera mysql korzystają dwa serwery. Jeden lokalnie jeden zewnętrzny.

Natrafiłem na opcję --skip-external-locking i zastanawiam się czy może pomóc?

 

komentarz 26 marca 2018 przez arek01996 Stary wyjadacz (12,100 p.)

I plik:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port		= 3306
socket		= /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0

[mysqld]
#
# * Basic Settings
#
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
lc-messages-dir	= /usr/share/mysql

default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_bin

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address		= 195.....
#
# * Fine Tuning
#
key_buffer		= 16M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
max_connections        = 10000
table_cache            = 128
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit	= 10M
query_cache_size        = 160M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#slow_query_log      = 1
#long_query_time = 2
#log_queries_not_using_indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id		= 1
#log_bin			= /var/log/mysql/mysql-bin.log
expire_logs_days	= 10
max_binlog_size         = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition

[isamchk]
key_buffer		= 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

 

Podobne pytania

0 głosów
0 odpowiedzi 121 wizyt
0 głosów
1 odpowiedź 280 wizyt
0 głosów
1 odpowiedź 1,965 wizyt
pytanie zadane 15 października 2017 w Systemy operacyjne, programy przez informatyk-00 Nowicjusz (230 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...