mysqldump備份報Binlogging on server not active的解決
[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的解決