2013-06-01 28 views
7

Poniżej znajduje się mój plik konfiguracyjny MySQL. Próbuję zrozumieć, jak to działa. Jaki jest sens [mysqld_safe]? Czy już nie uruchomiono MySQL? [mysqld]? Dlaczego po nich następuje błąd logu i ustawienia pliku pid?Co robi mysqld_safe w my.cnf?

[mysqld] 
# Settings user and group are ignored when systemd is used (fedora >= 15). 
# If you need to run mysqld under different user or group, 
# customize your systemd unit file for mysqld according to the 
# instructions in http://fedoraproject.org/wiki/Systemd 
user=mysql 

datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 

# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 

# Semisynchronous Replication 
# http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html 
# uncomment next line on MASTER 
;plugin-load=rpl_semi_sync_master=semisync_master.so 
# uncomment next line on SLAVE 
;plugin-load=rpl_semi_sync_slave=semisync_slave.so 

# Others options for Semisynchronous Replication 
;rpl_semi_sync_master_enabled=1 
;rpl_semi_sync_master_timeout=10 
;rpl_semi_sync_slave_enabled=1 

# http://dev.mysql.com/doc/refman/5.5/en/performance-schema.html 
;performance_schema 

innodb_strict_mode=on 
sql_mode=TRADITIONAL 
;sql_mode=STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE 
character-set-server=utf8 
collation-server=utf8_general_ci 

[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 

Odpowiedz

6

Można uruchomić serwer MySQL przy użyciu mysqld lub mysqld_safe. mysqld_safe może sam spróbować wykonać mysqld, ale także może nie. Zobacz documentation (pierwszy wynik w Google dla mysqld_safe, btw):

mysqld_safe jest zalecanym sposobem, aby uruchomić serwer mysqld na Unix i NetWare. mysqld_safe dodaje pewne funkcje bezpieczeństwa, takie jak restart serwera po wystąpieniu błędu i rejestrowanie informacji o środowisku wykonawczym w pliku dziennika błędów. Zachowania specyficzne dla NetWare są wymienione w dalszej części tej sekcji.

Sekcja [mysqld_safe] w pliku konfiguracyjnym jest dla ustawień stosowanych podczas korzystania mysqld_safe aby uruchomić serwer MySQL zamiast mysqld.

+0

Dzięki Mifeet. Tak, przed opublikowaniem tego pytania zapoznałem się z dokumentacją, do której się odwołałeś. Nie rozumiałem, że sekcja '[mysqld_safe]' dotyczy ustawień zastosowanych, gdy używam 'mysqld_safe' do uruchamiania MySQL. Czy to oznacza, że ​​inne ustawienia w '[mysqld]' nie mają zastosowania, dlaczego MySQL jest uruchamiany za pomocą 'mysqld_safe'? Dlaczego dodanie logowania do '[mysqld]' powoduje błąd? – user1032531

+1

Po dokładniejszym przeczytaniu 'mysqld_safe odczytuje wszystkie opcje z sekcji [mysqld], [server] i [mysqld_safe] w plikach opcji'. Co nadal mnie myli to to, że wydaje mi się, że mam "log-error =/var/log/mysqld.log", nawet gdy uruchomiłem go normalnie. – user1032531

+0

@ user1032531 Czy to nie jest wartość domyślna? Czy próbowałeś ustawić inną wartość dla 'log-error' w' [mysqld_safe] '? Jaki błąd masz na myśli? – Mifeet