Mysql
如何使 binlog-format=ROW 成為 /etc/my.cnf 文件中的啟動預設值?
我可以執行查詢**SET GLOBAL binlog_format = ‘ROW’**並且它適用於該會話。
停止並重新啟動 MySQL 後,如何使此設置保持不變?
注意:我使用的是 MySQL 5.5.19 版本(帶有 Moodle),我剛剛從 MyISAM 升級到 InnoDB,因此需要這個新設置。
我嘗試將這兩個命令(單獨)添加到 my.cnf:binlog-format=ROW和binlog_format=ROW,但都不起作用。每次更改 my.cnf 時,我都會停止並重新啟動 MySQL。
沒有設置這個我得到的錯誤是邪惡的錯誤消息:
調試資訊:無法執行語句:無法寫入二進制日誌,因為 BINLOG_FORMAT = STATEMENT 並且至少一個表使用僅限於基於行的日誌記錄的儲存引擎。當事務隔離級別為 READ COMMITTED 或 READ UNCOMMITTED 時,InnoDB 僅限於行日誌記錄。
我認為您的問題可能源於您編寫指令的位置
確保將選項
[mysqld]
放在 /etc/my.cnf 的標題下[mysqld] binlog_format = ROW
如果將它放在任何其他標題下,mysqld 程序將看不到它。
試一試 !!!
3 binlog_format 的值
[mysqld] binlog_format = ROW
[mysqld] binlog_format = STATEMENT
[mysqld] binlog_format = MIXED