all.sqlE..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysqldump備份報(bào)Binlogging on server not active的解決

發(fā)布時(shí)間:2020-07-20 06:02:58 來源:網(wǎng)絡(luò) 閱讀:4347 作者:xiaocao13140 欄目:MySQL數(shù)據(jù)庫

Redhat 6.5 X64   Mysql 5.7執(zhí)行備份:

[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]標(biāo)簽下添加:

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

保存退出后,重啟服務(wù):

 systemctl restart mysqld

搞定.注意如果有其它錯誤,仔細(xì)看看

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

參考以下內(nèi)容.

1)首先,為什么要開啟binlog日志和慢查詢?nèi)罩灸兀?/p>

binlog日志會記錄下數(shù)據(jù)庫的所以增刪改操作,當(dāng)不小心刪除、清空數(shù)據(jù),或數(shù)據(jù)庫系統(tǒng)出錯,這時(shí)候就可以使用binlog日志來還原數(shù)據(jù)庫,簡單來說就是一個記錄備份的東西

慢查詢?nèi)罩?slow_query_log,這個東西是用來記錄查詢比較慢的sql語句,通過查詢?nèi)罩緛聿檎夷臈lsql語句比較慢,然后就可以進(jìn)行數(shù)據(jù)庫或sql語句或程序上的優(yōu)化,簡單來說就是一個優(yōu)化輔助工具

 

PS:binlog日志應(yīng)該一直開著(因?yàn)槟悴恢罃?shù)據(jù)庫哪一天會崩掉,或者哪天會誤刪一點(diǎn)東西),慢查詢?nèi)罩酒綍r(shí)可以不開,當(dāng)覺得網(wǎng)站運(yùn)行慢,需要優(yōu)化的話,可以打開慢查詢來做一個輔助

 

2)開啟binlog日志的方法

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

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

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

 

3)開啟慢查詢?nèi)罩?/p>

修改配置方法一(臨時(shí),重啟mysqld后自動恢復(fù)):

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

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


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI