Perché /etc/mysql/my.cnf è VUOTO?


15

Sto cercando di modificare il my.cnffile per consentire l'accesso remoto e, in definitiva, l'utilizzo di software dal mio Windows Server per configurare il backup pianificato per MySQL Server.

Stavo seguendo queste istruzioni . Tuttavia, il /etc/mysql/my.cnffile sul mio Ubuntu ha solo:

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

Non contiene alcuna configurazione che posso modificare. Perché è così?


Significa solo che il file è nello stato predefinito, nella forma originale dall'installazione
Sergiy Kolodyazhnyy

Risposte:


29

In primo luogo, come giustamente sottolineato da AB, il file non è vuoto. Ha due direttive piuttosto importanti, vale a dire

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

Quelle righe dicono che i file di configurazione aggiuntivi (in questo caso .cnf) si trovano nelle directory elencate:

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

L'ultima delle due directory dovrebbe contenere mysqld.cnf . In altre parole, il file di configurazione appropriato dovrebbe essere:

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

2
qualcosa non va bene in entrambi i modi. quando modifico il file my.conf a metà vuoto ed es. set wait_timeout = 600, il servizio mysql non può più essere avviato ..
phil294

Questa è la risposta esatta alla domanda.
Lasitha Benaragama,

Vorrei poterlo trovare 6 ore prima!
Neofita

@Blauhirn Lo stesso qui quando dichiaro una password qui. Senza di esso il servizio inizia ma apparentemente sotto [mysqld] non tutto viene analizzato come wait_timout e password.
min hundje,

5

Il file non è vuoto. Contiene commenti - le righe con un iniziale #- e istruzioni di importazione - le righe con un iniziale !. Una dichiarazione di importazione indica che verranno utilizzate anche altre configurazioni.

Modificare un file di configurazione significa anche aggiungere nuove linee di configurazione.


3

Il mio file è lo stesso. È necessario aggiungere il gruppo corretto sopra il comando che si sta tentando di inserire, altrimenti il ​​servizio non verrà avviato.

Per aggiungere bind-addressdovrai aggiungere [mysqld]sopra di esso.

Se avete bisogno di controllare ciò che i gruppi sono per gli altri comandi, c'è un esempio my.cnfdi file qui .

Se vuoi abilitare le connessioni remote da tutte le interfacce (es. 0.0.0.0), il tuo file sarà simile al seguente, tuttavia assicurati di aver impostato correttamente il firewall se lo fai.

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

Nota il gruppo [mysqld].


Questo è un tale dolore in un **. Sto cercando di far funzionare le connessioni remote da quasi due giorni. Le connessioni remote devono essere abilitate immediatamente.
Mark Alexa,

Perché dovresti esporre tutti i server di database a Internet per impostazione predefinita? Non ci sono abbastanza sistemi non sicuri là fuori?
A. Scherbaum,


2

In tal caso, quel file non è il principale in cui sono incluse tutte le informazioni su bind-adress, binlogs ecc. Ma c'è un altro file, dove includono. Prova questo:

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

Mi ha aiutato e dovrebbe aiutarti.


1

Su Ubuntu 16.04 / MySQL 5.7 almeno my.cnf è in realtà vuoto perché è un link simbolico a un altro file che rimanda a mysql.cnf in /etc/mysql/mysql.conf.d menzionato in altre risposte. Apporta le modifiche qui come indicato sopra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.