ฉันจะแสดง binlog_format บนเซิร์ฟเวอร์ MySQL ได้อย่างไร


17

ฉันจะแสดงbinlog_formatบนเซิร์ฟเวอร์ MySQL ได้อย่างไร

และถ้าฉันไม่ชอบฉันจะตั้งค่าเป็นXXอย่างถาวรได้อย่างไร

ที่ไหนXXคือSTATEMENT, หรือROWMIXED

คำตอบ:


14

Matt Healy ตอบคำถามเกี่ยวกับวิธีการแสดง / กำหนดรูปแบบจากไคลเอนต์ mysql (บนเซิร์ฟเวอร์ที่ทำงาน) ด้วย SET GLOBAL binlog_format = [STATEMENT|ROW|MIXED]

หากต้องการตั้งค่าอย่างถาวรและสมมติว่าคุณสามารถเข้าถึง my.cnf ให้เพิ่ม:

[mysqld]
...

binlog_format=XX

...

จากนั้นรีสตาร์ทเซิร์ฟเวอร์ของคุณ


ตรงไปตรงมาและรัดกุม +1 !!!
RolandoMySQLDBA

2
> [mysqld] ..... >> binlog-format = XX>> ..... ต้องเป็น binlog_format = XXX Underscore!

@Jeff เมื่อ mysqld อ่าน /etc/my.cnf มันจะเข้าใจทั้งเครื่องหมายขีดคั่น (-) และขีดล่าง (_) โดยสิ้นเชิง ในไคลเอนต์ mysql จำเป็นต้องขีดเส้นใต้ +1 ต่อไปและยินดีต้อนรับสู่ DBA StackExchange !!!
RolandoMySQLDBA

1
@jeff ขอบคุณ! มันแปลกที่พวกเขาพลิกฟลอพระหว่าง '-' และ '_' แต่เอกสารแน่นอนว่าพารามิเตอร์ไฟล์ตัวเลือกคือbinlog-format=format
Derek Downey

ฉันคิดว่ารูปแบบ binlog (พร้อมเส้นประ) ถูกใช้จากบรรทัดคำสั่งในขณะที่ binlog_format (ที่มีเครื่องหมายขีดเส้นใต้) เป็นชื่อตัวแปรของระบบ
Dylan Hogg

27

หากต้องการดูค่า binlog_format ปัจจุบัน:

mysql> show variables like 'binlog_format';
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| binlog_format | STATEMENT |
+---------------+-----------+
1 row in set (0.00 sec)

วิธีเปลี่ยน:

mysql> SET GLOBAL binlog_format = 'STATEMENT';
mysql> SET GLOBAL binlog_format = 'ROW';
mysql> SET GLOBAL binlog_format = 'MIXED';

ที่มา: http://dev.mysql.com/doc/refman/5.1/th/binary-log-setting.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.