Neden /etc/mysql/my.cnf BOŞLUK?


16

my.cnfUzaktan erişime izin vermek ve sonuçta MySQL Server için zamanlanmış yedekleme yapılandırmak için Windows Server'ım yazılımını kullanarak dosyayı düzenlemeye çalışıyorum .

Bu talimatları takip ediyordum . Ancak, /etc/mysql/my.cnfbenim Ubuntu dosya sadece vardır:

#
# 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

#
# * 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/
!includedir /etc/mysql/mysql.conf.d/

Düzenleyebileceğim herhangi bir yapılandırma içermiyor. Bu neden böyle?


Bunun anlamı, kurulumdan beri dosyanın orijinal haliyle varsayılan durumda olmasıdır
— Sergiy Kolodyazhnyy

Yanıtlar:


29

Birincisi, AB'nin haklı olarak işaret ettiği gibi, dosya boş değildir. Oldukça önemli iki direktifi var:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Bu satırlar, ek yapılandırma dosyalarının (bu durumda .cnf) listelenen dizinlerde bulunabileceğini söylüyor:

/etc/mysql/conf.d/
/etc/mysql/mysql.conf.d/

İki dizinin sonuncusu mysqld.cnf içermelidir . Başka bir deyişle, uygun yapılandırma dosyası şu şekilde olmalıdır:

/etc/mysql/mysql.conf.d/mysqld.cnf

2
her iki durumda da doğru olmayan şeyler. yarı boş my.conf dosyasını düzenlediğimde ve örneğin wait_timeout = 600 ayarladığımda, hizmet mysql artık başlatılamaz ..
— phil294

Bu sorunun kesin cevabı.
— Lasitha Benaragama

Keşke 6 saat önce bulabilirdim!
— neophyte

@Blauhirn Burada bir şifre belirttiğimde de aynı. Bu olmadan hizmet başlar ancak görünüşe göre [mysqld] altında her şey wait_timout ve şifre gibi ayrıştırılmaz.
— min hundje

5

Dosya boş değil. Açıklamaları içerir - satır #aralığı önde gelen satırlar - ve içe aktarma ifadeleri - satır başı satırlar !. Bir içe aktarma ifadesi, diğer yapılandırmaların da kullanılacağı anlamına gelir.

Bir yapılandırma dosyasının düzenlenmesi, yeni yapılandırma satırlarının eklenmesi anlamına da gelir.


4

Dosyam aynı. Girmeye çalıştığınız komutun üzerine doğru grubu eklemeniz gerekir, aksi takdirde hizmet başlatılmaz.

Eklemek için eklemeniz bind-addressgerekecek[mysqld] üstünde.

Grupların diğer komutlar için ne olduğunu kontrol etmeniz gerekirse, burada bir örnek my.cnfdosya var .

Tüm arabirimlerden (yani 0.0.0.0) uzak bağlantıları etkinleştirmek istiyorsanız , dosyanız aşağıdaki gibi görünecektir, ancak bunu yaparsanız güvenlik duvarınızı doğru ayarladığınızdan emin olun.

#
# 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

#
# * 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/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]    
bind-address = 0.0.0.0

[Mysqld] grubuna dikkat edin.


Bu ** bir acıdır. Uzaktan bağlantıları neredeyse iki gündür çalıştırmaya çalışıyoruz. Uzak bağlantılar kutudan çıkarılmış olarak etkinleştirilmelidir.
— Mark Alexa

Neden her veritabanı sunucusunu kutudan çıkar çıkmaz internete maruz bırakasınız ki? Dışarıda yeterince güvenli olmayan sistem yok mu?
— A.Scherbaum


3

Bu durumda, bu dosya bind-adress, binlogs vb. İle ilgili tüm bilgilerin bulunduğu ana dosya değildir. Ancak içerdikleri başka bir dosya daha var. Bunu dene:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Bana yardımcı oldu ve sana yardım etmeli.


1

Ubuntu 16.04 / MySQL 5.7'de en azından my.cnf aslında boştur, çünkü diğer cevaplarda belirtilen /etc/mysql/mysql.conf.d içindeki mysql.cnf'ye geri dönen başka bir dosyaya bir sembolik bağlantıdır. Burada değişikliklerinizi yukarıda belirtildiği gibi yapın.

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.