mysql show master status為空值
阿新 • • 發佈:2018-12-23
問題
執行show master status,輸出結果為空:
mysql> show master status;
Empty set (0.00 sec)
原因
mysql沒有開啟日誌。
檢視log_bin選項:
mysql> show variables like '%log_bin%'; +---------------------------------+-------+ | Variable_name | Value | +---------------------------------+-------+ | log_bin | OFF | | log_bin_basename | | | log_bin_index | | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF | | sql_log_bin | ON | +---------------------------------+-------+ 6 rows in set (0.00 sec)
可以看到log_bin是OFF.
解決方法
在mysql 配置檔案 /etc/my.cnf中
[mysqld]下新增:
log-bin=mysql-bin
log-bin配置項表示binlog的base name,產生的日誌檔名稱類似,mysql-bin.00001,mysql-bin.00002,mysql-bin.00003。
儲存,重啟mysql服務。
mysql> SHOW MASTER STATUS\G *************************** 1. row *************************** File: master-bin.000002 Position: 1307 Binlog_Do_DB: test Binlog_Ignore_DB: manual, mysql Executed_Gtid_Set: 3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5 1 row in set (0.00 sec)
show master status命令列出了日誌位點資訊,包括binlog file,binlog position等。
如果使用了GTID(global transaction ID),Executed_Gtid_Set表示已經在這個master上執行的GTID集合,與這個server上的系統變數gtid_executed 含義相同。
在這個server執行show slave status中是輸出的對應列Executed_Gtid_Set含義相同。
參考
http://www.vsbclub.com/info/1024/1673.htm
show master status
17.1.4.4 Binary Log Options and Variables