Mengapa /etc/mysql/my.cnf KOSONG?


15

Saya mencoba mengedit my.cnffile untuk memungkinkan akses jarak jauh dan akhirnya menggunakan perangkat lunak dari Server Windows saya untuk mengkonfigurasi cadangan terjadwal untuk Server MySQL.

Saya mengikuti instruksi ini . Namun, /etc/mysql/my.cnffile di Ubuntu saya hanya memiliki:

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

Itu tidak mengandung konfigurasi apa pun yang dapat saya edit. Mengapa seperti itu?


Semua itu berarti bahwa file tersebut hanya dalam keadaan default, dalam bentuk asli sejak instalasi
Sergiy Kolodyazhnyy

Jawaban:


29

Pertama, seperti yang ditunjukkan oleh AB dengan benar, file tersebut tidak kosong. Ini memiliki dua arahan yang agak penting, yaitu

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

Baris-baris itu mengatakan bahwa file konfigurasi tambahan (.cnf dalam kasus ini) dapat ditemukan di direktori yang terdaftar:

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

Yang terakhir dari dua direktori harus mengandung mysqld.cnf . Dengan kata lain, file konfigurasi yang sesuai harus:

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

2
sesuatu yang tidak benar juga. ketika saya mengedit file my.conf setengah-kosong dan mis. set wait_timeout = 600, layanan mysql tidak dapat dimulai lagi ..
phil294

Ini jawaban tepat untuk pertanyaan itu.
Lasitha Benaragama

Seandainya aku bisa menemukannya 6 jam lebih awal!
neophyte

@ Blauhirn Sama di sini ketika saya menyatakan kata sandi di sini. Tanpa itu layanan dimulai tetapi tampaknya di bawah [mysqld] tidak semuanya akan diuraikan dengan benar seperti wait_timout dan kata sandi.
min hundje

5

File tidak kosong. Ini berisi komentar - baris dengan yang terkemuka #- dan impor pernyataan - baris dengan yang terkemuka !. Pernyataan impor berarti konfigurasi lain juga akan digunakan.

Mengedit file konfigurasi juga berarti menambahkan baris konfigurasi baru.


3

File saya sama. Anda perlu menambahkan grup yang benar di atas perintah yang Anda coba masukkan jika tidak layanan tidak akan mulai.

Untuk menambahkan bind-addressAnda harus menambahkan [mysqld]di atasnya.

Jika Anda perlu memeriksa apa grup untuk perintah lain, ada my.cnffile contoh di sini .

Jika Anda ingin mengaktifkan koneksi jarak jauh dari semua antarmuka (mis. 0.0.0.0), file Anda akan terlihat seperti di bawah ini, namun pastikan Anda mengatur firewall dengan benar jika melakukannya.

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

Catat grup [mysqld].


Ini adalah rasa sakit seperti itu dalam **. Telah berusaha membuat koneksi jarak jauh berfungsi selama hampir dua hari sekarang. Koneksi jarak jauh harus diaktifkan di luar kotak.
Mark Alexa

Mengapa Anda mengekspos setiap server database ke internet di luar kotak? Apakah tidak ada sistem yang tidak aman di luar sana?
A. Scherbaum


2

Dalam hal itu, file itu bukan yang utama di mana semua informasi tentang bind-adress, binlogs dan sebagainya termasuk. Tetapi ada file lain, di mana mereka termasuk. Coba ini:

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

Itu membantu saya, dan itu seharusnya membantu Anda.


1

Di Ubuntu 16.04 / MySQL 5.7 setidaknya my.cnf sebenarnya kosong karena merupakan symlink ke file lain yang symlink kembali ke mysql.cnf di /etc/mysql/mysql.conf.d disebutkan dalam jawaban lain. Buat perubahan Anda di sini seperti yang disebutkan di atas.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.