2016-11-18 65 views
1

MySQL的二進制日誌我試圖用simple example ofmysql-events package但是當我試圖使用它,我得到這個錯誤:啓用在my.cnf

Error: ER_NO_BINARY_LOGGING: You are not using binary logging

,所以我改變的my.cnf:

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

但當我試圖重新啓動mysql(使用$ sudo service mysql restart)發生此錯誤:

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

並且這是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 

我該怎麼做,我的問題是什麼?

+1

'在第19行配置文件/etc/mysql/my.cnf找到沒有前面組的選項應該有幫助。這意味着:它屬於[mysqld]'下面。 – Solarflare

+0

謝謝! @Solarflare –

回答

3

的Ubuntu

我要補充socketPath : '/var/run/mysqld/mysqld.sock'在代碼中dsn變量,也如下修正/etc/mysql/my.cnf:與$sudo service mysql restart

!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 

,最後重新啓動它爲CentOS

我要加socketPath : '/var/lib/mysql/mysql.sock'dsn vari能夠在代碼中,也可以作爲以下修正/etc/my.cnf

[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 

,並在與$systemctl restart mariadb

最後重新啓動它注意:CentOS的7已經取代MySQL的使用MariaDB。所以在UBUNTU和CentOS之間有log_bin的路徑。