2016-11-18 1 views
1

Ich versuchte simple example ofmysql-events package zu verwenden, aber wenn ich es zu benutzen versucht, bekam ich diese Fehlermeldung:aktivieren MySQL binlog in my.cnf

Error: ER_NO_BINARY_LOGGING: You are not using binary logging

i my.cnf so geändert:

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

#what i added: 
log_bin = "/home/erfan/salone-entezar/server/" 


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

aber wenn ich versucht, mySQL (mit $ sudo service mysql restart) diese Fehler neu zu starten ist passiert:

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

und das ist systemctl status mysql.service:

● mysql.service - MySQL Community Server 
    Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) 
    Active: activating (start-post) (Result: exit-code) since Fri 2016-11-18 20:16:48 IRST; 3s ago 
    Process: 8838 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE) 
    Process: 8831 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS) 
Main PID: 8838 (code=exited, status=1/FAILURE); Control PID: 8839 (mysql-systemd-s) 
    Tasks: 2 (limit: 4915) 
    CGroup: /system.slice/mysql.service 
      └─control 
      ├─8839 /bin/bash /usr/share/mysql/mysql-systemd-start post 
      └─8850 sleep 1 

Nov 18 20:16:48 erfan-m systemd[1]: Starting MySQL Community Server... 
Nov 18 20:16:48 erfan-m mysql-systemd-start[8831]: my_print_defaults: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 19! 
Nov 18 20:16:48 erfan-m mysql-systemd-start[8831]: my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted! 
Nov 18 20:16:48 erfan-m systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE 

Was ich jetzt tun sollte und was ist mein Problem?

+1

'Gefundene Option ohne vorherige Gruppe in der Konfigurationsdatei /etc/mysql/my.cnf in Zeile 19! 'Sollte helfen. Es bedeutet: es gehört unter '[mysqld]'. – Solarflare

+0

danke! @Sonneneruption –

Antwort

3

für UBUNTU

ich habe socketPath : '/var/run/mysqld/mysqld.sock' zu dsn Variable im Code hinzuzufügen und auch /etc/mysql/my.cnf wie unten korrigieren:

!includedir /etc/mysql/conf.d/ 
!includedir /etc/mysql/mysql.conf.d/ 
[mysqld] #grouping config options is important 
# Must be unique integer from 1-2^32 
server-id  = 1 
# Row format required for ZongJi 
binlog_format = row 
# Directory must exist. This path works for Linux. Other OS may require 
# different path. 
log_bin   = /var/log/mysql/mysql-bin.log 

und letzten Neustart mit $sudo service mysql restart

für CentOS

ich muss hinzufügen socketPath : '/var/lib/mysql/mysql.sock' zu dsn vari in Code in der Lage und auch /etc/my.cnf wie unten korrigieren:

[mysqld] 
# Must be unique integer from 1-2^32 
server-id  = 1 
# Row format required for ZongJi 
binlog_format = row 
# Directory must exist. This path works for Linux. Other OS may require 
# different path. 
log_bin   = /var/log/mariadb/mariadb-bin.log 

datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
# Settings user and group are ignored when systemd is used. 
# If you need to run mysqld under a different user or group, 
# customize your systemd unit file for mariadb according to the 
# instructions in http://fedoraproject.org/wiki/Systemd 

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

# 
# include all files from the config directory 
# 
!includedir /etc/my.cnf.d 

und letzten Neustart mit $systemctl restart mariadb

HINWEIS: CentOS 7 MySQL ersetzt mit MariaDB hat. Es gibt also einen Unterschied zwischen log_bin Pfad von UBUNTU und CentOS.

Verwandte Themen