1. 程式人生 > >mysqldump備份報Binlogging on server not active的解決

mysqldump備份報Binlogging on server not active的解決

mysqldump備份報Binlogg

Redhat 6.5 X64 Mysql 5.7執行備份:

[root@master 3306]# mysqldump -u root -p --master-data=2 --single-transaction -R --triggers -A > all.sql
Enter password:
mysqldump: Error: Binlogging on server not active

解決方案:

sudo vi /etc/my.cnf

在[mysqld]標簽下添加:

log-bin=mysql-bin
server-id=1

保存退出後,重啟服務:

systemctl restart mysqld

搞定.註意如果有其它錯誤,仔細看看

/var/log/mysqld.log裏面的錯誤信息以更快的找到問題.

參考以下內容.

1)首先,為什麽要開啟binlog日誌和慢查詢日誌呢?

binlog日誌會記錄下數據庫的所以增刪改操作,當不小心刪除、清空數據,或數據庫系統出錯,這時候就可以使用binlog日誌來還原數據庫,簡單來說就是一個記錄備份的東西

慢查詢日誌 slow_query_log,這個東西是用來記錄查詢比較慢的sql語句,通過查詢日誌來查找哪條sql語句比較慢,然後就可以進行數據庫或sql語句或程序上的優化,簡單來說就是一個優化輔助工具

PS:binlog日誌應該一直開著(因為你不知道數據庫哪一天會崩掉,或者哪天會誤刪一點東西),慢查詢日誌平時可以不開,當覺得網站運行慢,需要優化的話,可以打開慢查詢來做一個輔助

2)開啟binlog日誌的方法

在my.cnf的[mysqld]下添加一個binlog配置就可以了(註意一定要加在[mysqld]下,如果加在[mysqld_safe]或其他位置下是不行的),配置如下:

log-bin=mysql-bin
server-id=1

PS:這上面的mysql-bin其實就是binlog日誌文件的前綴來著,像上面設置的是mysql-bin(你可以改成mysql_bin或binlog或其他什麽都可以),它就會在/var/lib/mysql/(默認位置)生成 mysql-bin.000001,mysql-bin.000002,mysql-bin.000003......等日誌文件

3)開啟慢查詢日誌

修改配置方法一(臨時,重啟mysqld後自動恢復

):

set global log_slow_queries=ON;
set global slow_launch_time=10;

修改配置方法二(永久):

在my.cnf的[mysqld]下添加一個binlog配置就可以了(註意一定要加在[mysqld]下,如果加在[mysqld_safe]或其他位置下是不行的),配置如下:

log-slow-queries=/var/log/mysqld-slow.loglong_query_time=2

第一個配置是日誌文件位置,第二個配置是慢查詢的時間配置(秒),執行時間超過這個時間的查詢語句會被記錄下來


mysqldump備份報Binlogging on server not active的解決