MySQL 5.7 bağlama adresi çalışmıyor


17

MySQL 5.5 için her zaman uzaktan bağlantı başarıyla kurdum.

Bugün Ubuntu 16.04 ve MySQL 5.7 ile yeni bir sunucu kurdum. Ancak bazı nedenlerden dolayı, bu MySQL kurulumunun diğer ana bilgisayarları dinlemesini sağlayamıyorum ama 127.0.0.1.

İşte benim /etc/mysql/conf.d/mysql.cnf:

[mysqld]
bind-address = 0.0.0.0

Bu MySQL sunucusuna uzak bir ana bilgisayardan bağlanamadım ve kontrol netstatettiğimde MySQL'in localhostyalnızca bağlantıları dinlediğini fark ettim .

lsof -Pni :3306 çıktı:

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  5302 mysql   25u  IPv4  37280      0t0  TCP 127.0.0.1:3306 (LISTEN)

Sorun nedir?


MySQL'i zıpladın mı? Netstat -lntp çıktısı nedir?
Linuxx

@ Linuxux Hatta tüm makineyi yeniden başlattım. tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 13050/mysqld
Hast

Sanırım o satırı o dosyaya eklediniz. Bu satırı kaldırın ve /etc/mysql/mysql.conf.d/mysqld.cnf dosyasını düzenleyin ve parametreyi orada değiştirin.
Linuxx

1
@Linuxx Bu sihir gibi çalıştı :) Başka bir * .conf.d dizini olduğunu fark etmedim. Temelde 5.7 [mysql] yapılandırmasını conf.d dizininde tutarken [mysqld] yapılandırmaları mysql.conf.d dosyasında tutulur. Teşekkür ederim! Lütfen bir cevap verin, ben de kabul ediyorum.
Hast

1
Hem /etc/mysql/mysql.conf.d/mysqld.cnf hem de /etc/mysql/conf.d/mysql.cnf adresindeki bind adresini değiştirdim, ancak yine de "tcp 0 0 127.0. 0.1: 3306 "çalıştırdığımda <netstat -tulpen
Chepech

Yanıtlar:


39

MySQL paketini, bind parametresi /etc/mysql/mysql.conf.d/mysqld.cnf içinde olacak şekilde değiştirdiler. Lütfen orada bağlama parametresini değiştirin ve /etc/mysql/conf.d/mysql.cnf dosyasına yerleştirdiğiniz her şeyi kaldırın.


Yine de bu çok saçma. "Conf.d" nin amacı, paket tarafından sağlanan varsayılanları DEĞİŞTİRMEMEK ve kendi yapılandırmanız tarafından geçersiz kılmaktır. Ama şimdi "mysql.conf.d" bizimkini geçersiz kıldığı için, "mysql.conf.d / mysqld.cnf" dosyasını düzenlemedikçe, sonumuzun gelmesini sağlamak için güvenilir bir yol yoktur.
Kennedy

@kenn: mysql.conf.d / altına konfigürasyonunuzu ekleyin ve "x-something" olarak adlandırın
Bell

3
Tabii, ama "conf.d" nin anlamı nedir? "Mysql.conf.d", "conf.d" tarafından yazılması gereken paket tarafından sağlanan bir varsayılan değil midir? "Conf.d" ve "mysql.conf.d" yükleme sırasının MySQL paket düzeyinde "/etc/mysql/my.cnf" de tersine çevrilmesi gerektiğini düşünüyorum.
kenn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.