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.