Maison > base de données > tutoriel mysql > le corps du texte

Décryptage MySQL -> Comment afficher l'instruction SQL la plus originale en mode journal binaire ROW

黄舟
Libérer: 2017-02-16 11:43:25
original
2435 Les gens l'ont consulté

Modèle

MySQLbinlogROW analyse

Après mysql5.6, cohérence des données maître-esclave Les exigences sont devenues plus élevées et le format de déclaration est progressivement moins adapté aux besoins de l'entreprise, de sorte que tout le monde dans l'environnement de production adopte le mode ligne. Le mode ligne est un module d'insertion qui transmet les modifications de données les plus faibles pour transmettre les données maître-esclave. dans binlog Quelle est la différence entre celui-ci et le mode instruction ordinaire ? Pouvez-vous voir la déclaration SQL originale ?

1, préparez-vous à saisir les données


mysql> create table test1(id int,c1 varchar(20),type int,address varchar(20),create_time datetime);
Query OK, 0 rows affected (0.00 sec)
 
mysql> insert into test1 select 1,'zhangsan','1','zhangsan road No 870,floor 602',now();
ERROR 1406 (22001): Data too long for column 'address' at row 1
mysql>
mysql> show create table test1;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                         |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test1 | CREATE TABLE `test1` (
  `id` int(11) DEFAULT NULL,
  `c1` varchar(20) DEFAULT NULL,
  `type` int(11) DEFAULT NULL,
  `address` varchar(20) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
 
mysql> alter table test1 modify  `address` varchar(200) DEFAULT NULL;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> insert into test1 select 1,'zhangsan','1','zhangsan road No 870,floor 602',now();
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
 
mysql> insert into test1 select 2,'lisi','1','zhangsan road No 870,floor 602',now();
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0
 
mysql>
Copier après la connexion



<🎜>
mysql>  show binlog events in &#39;mysql-bin.000216&#39;;
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------------------------------------+
| Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                                                             |
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------------------------------------+
| mysql-bin.000216 |   4 | Format_desc |        63 |         120 | Server ver: 5.6.12-log, Binlog ver: 4                                            |
| mysql-bin.000216 | 120 | Query       |        63 |         200 | BEGIN                                                                            || mysql-bin.000216 | 200 | Rows_query  |        63 |         302 | # insert into test1 select 3,&#39;wanger&#39;,&#39;3&#39;,&#39;zhangsan road No 870,floor 603&#39;,now() || mysql-bin.000216 | 302 | Table_map   |        63 |         359 | table_id: 74 (test.test1)                                                        |
| mysql-bin.000216 | 359 | Write_rows  |        63 |         447 | table_id: 74 flags: STMT_END_F                                                   |
| mysql-bin.000216 | 447 | Xid         |        63 |         478 | COMMIT /* xid=208 */                                                             |
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------------------------------------+
6 rows in set (0.00 sec)
 
mysql>
Copier après la connexion
Copier après la connexion


<🎜> <🎜>

2, RangéeLe mode binlog est tronqué

En mode Row, l'instruction ddl dans le binlog s'affiche normalement, mais Le DML est tronqué, comme indiqué ci-dessous :

[root@hch_test_dbm1_121_63 binlog]# / usr /local/mysql/bin/mysqlbinlog mysql-bin.000215

…… # Le précédent est omis ici

#160722 17 :02 : 38 ID du serveur 62 end_log_pos 4291 CRC32 0x369e3244 Requête thread_id=60 exec_time=4294967271 error_code=0

SET TIMESTAMP=1469178158/*!*/;

CRÉER UNE BASE DE DONNÉES SI N'EXISTE PAS 'percona ` /* pt-table-checksum */

/*!*/;

# à 4291

#160722 17:02:38 identifiant du serveur 62 end_log_pos 5079 CRC32 0x8abc6e67 Requête thread_id =60 exec_time=4294967271 error_code=0

utilisez `percona`/*!*/;

SET TIMESTAMP=1469178158/*!*/;

CREATE TABLE IF NOT Existe `Percona`.`checksums` (

DB Char (64) Non nul,

TBL CHAR (64) Non nul,

chunk int non nul ,

chunk_time float NULL,

chunk_index varchar(200) NULL,

lower_boundary text NULL,

upper_boundary text NULL,

this_crc char( 40) NOT NULL,

this_cnt int NOT NULL,

master_crc char(40) NULL,

master_cnt int NULL,

ts timestamp NON NULL PAR DÉFAUT CURRENT_TIMESTAMP SUR UPDATE CURRENT_TIMESTAMP,

CLÉ PRIMAIRE (db, tbl, chunk),

INDEX ts_db_tbl (ts, db, tbl)

) ENGINE=InnoDB

/*!*/;

# à 5079

#160820 10:21:10 identifiant du serveur 63 end_log_pos 5280 CRC32 0xd147bd8e Requête thread_id=16 exec_time=0​ error_code= 0

SET TIMESTAMP=1471659670/*!*/;

SET @@session.sql_mode=1075838976/*!*/;

ACCORDER TOUS LES PRIVILÈGES SUR *.* À 'tim' @'192.168%' IDENTIFIÉ PAR MOT DE PASSE '*2976819BD2CCD13612E03F812A2CD297C1A18B23'

/*!*/;

# au 5280

#160820 10 : 22h40 identifiant du serveur 63 end_log_pos 5445 CRC32 0x85811be7 Requête thread_id=18 exec_time=0 error_code=0

utilisez `test`/*!*/;

SET TIMESTAMP=1471659760/*!*/;

créer une table test1(id int,c1 varchar(20),type int,adresse varchar(20),create_time datetime)

/*!*/;

# à 5445

#160820 10:24:34 identifiant du serveur 63 end_log_pos 5580 CRC32 0x2626220c Requête thread_id=18 exec_time=0 error_code=0

SET TIMESTAMP=1471659874/* !*/;

alter table test1 modifier `adresse` varchar(200) DEFAULT NULL

/*!*/;

# à 5580

#160820 10:24:36 identifiant du serveur 63  end_log_pos 5660 CRC32 0x7b7c645f      Requête       thread_id=18         exec_time=0    error_code=0

SET TIMESTAMP=1471659876/ *!*/;

ENSEMBLE @@session.time_zone='SYSTEM'/*!*/;

BEGIN

/*!*/;

# au 5660

# à 5764

#160820 10:24:36 identifiant du serveur 63  end_log_pos 5821 CRC32 0x08bc94c3      Table_map : `test`.`test1` mappé au numéro 74

# à 5821

#160820 10:24:36 identifiant du serveur 63  end_log_pos 5911 CRC32 0x2f577f52       Write_rows : identifiant de table 74 indicateurs :  STMT_END_F

 

BINLOG '

ZL 3VxM/ AAAAOQAAAL0WAAAAAEoAAAAAAAEABHRlc3QABXRlc3QxAAUDDwMPEgU8AFgCAB/DlLwI

ZL 3Vx4/AAAAWgAAABcXAAAAAEoAAAAAAAEAAAgAF/ ABAAAACHpoYW5nc2FuAQAAAB4Aemhhbmdz

YW4gcm9hZCBObyA4NzAsZmxvb3IgNjAymZoopiRSf1cv

'/* !*/;

# au 5911

#160820 10:24 :36 identifiant du serveur 63  end_log_pos 5942 CRC32 0xb26af81b      Xid = 199

COMMIT/*!*/;

# à 5942

#160820 10:24:48 identifiant du serveur 63 end_log_pos 6022 CRC32 0x09eab31d     Requête       thread_id=18         exec_time=0    error_code=0

SET TIMESTAMP=1471659888/*!*/;

BEGIN

/ *!*/;

# au 6022

# au 6122

#160820 10:24:48 identifiant du serveur 63  end_log_pos 6179 CRC32 0xdc6dc34b      Table_map : `test`.`test1` mappé au numéro 74

# à 6179

#160820 10:24:48 identifiant du serveur 63 end_log_pos 6265 CRC32 0x5f7ad700      Write_rows : identifiant de table 74 indicateurs : STMT_END_F

 

BINLOG '

cL 3VxM/AAAAOQAAACMYAAAAAEoAAAAAAAEABHRlc3QABXRlc3QxAAUDDwMPEgU8AFgCAB9Lw23c

cL 3Vx4/AAAAVgAAAHkYAAAAAEoAAAAAAAEAAgAF/ACAAAABGxpc2kBAAAAHgB6a GFuZ3NhbiBy

b2FkIE5vIDg3MCxmbG9vciA2MDKZmiimMADXel8=

'/*!*/;

# à 6265

#160820 10:24:48 identifiant du serveur 63  end_log_pos 6296 CRC32 0xf6833d28      Xid = 200

COMMIT/*!*/;

# à 6296

#160820 10:31:30 ID du serveur 63  end_log_pos 6343 CRC32 0xcfcdd344       Tourner vers mysql-bin.000216  pos : 4

DELIMITER ;

# Fin du fichier journal

ROLLBACK /* ajouté par mysqlbinlog */;

/*!50003 SET  COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET  @@SESSION.PSEUDO_SLAVE_MODE=0*/ ;

[root@hch_test_dbm1_121_63 binlog]#

3, via --base64-output =decode-rows -v pour afficher l'instruction dml

la commande d'exécution est : /usr/local/mysql/bin/mysqlbinlog --base64-output=decode-rows -v mysql-bin.000215

Vous pouvez voir ce qui suit effet, mais ce sont toutes les instructions SQL du bloc dml original :

[root@hch_test_dbm1_121_63 binlog]# /usr/local/mysql/bin/mysqlbinlog --base64-output=decode-rows -v mysql-bin.000215

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET @@session.max_insert_delayed_threads=0*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

……

#160820 10:24:36 server id 63 end_log_pos 5821 CRC32 0x08bc94c3 Table_map: `test`.`test1` mapped to number 74

# at 5821

#160820 10:24:36 server id 63 end_log_pos 5911 CRC32 0x2f577f52 Write_rows: table id 74 flags: STMT_END_F

### INSERT INTO `test`.`test1`

### SET

### @1=1

### @2='zhangsan'

### @3=1

### @4='zhangsan road No 870,floor 602'

### @5='2016-08-20 10:24:36'

# at 5911

#160820 10:24:36 server id 63 end_log_pos 5942 CRC32 0xb26af81b Xid = 199

COMMIT/*!*/;

# at 5942

#160820 10:24:48 server id 63 end_log_pos 6022 CRC32 0x09eab31d Query thread_id=18 exec_time=0 error_code=0

SET TIMESTAMP=1471659888/*!*/;

BEGIN

/*!*/;

# at 6022

# at 6122

#160820 10:24:48 server id 63 end_log_pos 6179 CRC32 0xdc6dc34b Table_map: `test`.`test1` mapped to number 74

# at 6179

#160820 10:24:48 server id 63 end_log_pos 6265 CRC32 0x5f7ad700 Write_rows: table id 74 flags: STMT_END_F

### INSERT INTO `test`.`test1`

### SET

### @1=2

### @2='lisi'

### @3=1

### @4='zhangsan road No 870,floor 602'

### @5='2016-08-20 10:24:48'

# at 6265

#160820 10:24:48 server id 63 end_log_pos 6296 CRC32 0xf6833d28 Xid = 200

COMMIT/*!*/;

# at 6296

#160820 10:31:30 server id 63 end_log_pos 6343 CRC32 0xcfcdd344 Rotate to mysql-bin.000216 pos: 4

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

[root@hch_test_dbm1_121_63 binlog]#

[ root@ hch_test_dbm1_121_63 binlog]# /usr/local/mysql/bin/mysqlbinlog --base64-output=decode-rows -v mysql-bin.000215<🎜><🎜>/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1 */ ;<🎜><🎜>/*!40019 SET @@session.max_insert_delayed_threads=0*/;<🎜><🎜>/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;<🎜 >< 🎜>DELIMITER /*!*/;<🎜><🎜>……<🎜><🎜>#160820 10:24:36 identifiant du serveur 63 end_log_pos 5821 CRC32 0x08bc94c3 Table_map : `test`.`test1` mappé à numéro 74 <🎜><🎜># à 5821<🎜><🎜>#160820 10:24:36 identifiant du serveur 63 end_log_pos 5911 CRC32 0x2f577f52 Write_rows : identifiant de table 74 indicateurs : STMT_END_F<🎜><🎜>### INSÉRER DANS `test`.`test1`<🎜><🎜><🎜>## # SET <🎜><🎜><🎜>### @1=1<🎜><🎜><🎜>### @2='zhangsan'<🎜><🎜><🎜>### @3=1 <🎜 ><🎜><🎜>### @4='route zhangsan n° 870, étage 602'<🎜><🎜><🎜>< span style ="color:#0070C0;background:jaune;">### @5='2016-08-20 10:24:36'<🎜><🎜><🎜># à 5911<🎜><🎜 ># 160820 10:24:36 identifiant du serveur 63 end_log_pos 5942 CRC32 0xb26af81b : 48 identifiant du serveur 63 end_log_pos 6022 CRC32 0x09eab31d Requête thread_id=18 exec_time=0 error_code=0<🎜><🎜>SET TIMESTAMP=14716 59888/*!*/; <🎜><🎜>DEBUT< 🎜><🎜>/*! */;<🎜><🎜># au 6022<🎜><🎜># au 6122<🎜><🎜>#160820 10:24:48 identifiant du serveur 63 end_log_pos 6179 CRC32 0xdc6dc34b Table_map : `test`.`test1` mappé au numéro 74<🎜><🎜># à 6179<🎜><🎜>#160820 10:24:48 identifiant du serveur 63 end_log_pos 6265 CRC32 0x5f7ad 700 lignes_d'écriture : identifiant de table 74 indicateurs : STMT_END_F<🎜><🎜 >### INSERT INTO `test`.`test1`<🎜><🎜><🎜> ### SET<🎜><🎜><🎜>### @1 =2<🎜><🎜><🎜>### @2='lisi'<🎜><🎜><🎜>### @3 =1<🎜><🎜><🎜>### @4=' route de Zhangsan n° 870, étage 602'<🎜><🎜><🎜 >### @5='2016-08-20 10:24:48 '<🎜><🎜><🎜># à 6265<🎜> <🎜>#160820 10:24:48 identifiant du serveur 63 end_log_pos 6296 CRC32 0xf6833d28 Xid = 200<🎜><🎜>COMMIT/*!*/;< 🎜><🎜># à 6296<🎜><🎜>#16082 0 10:31:30 identifiant du serveur 63 end_log_pos 6343 CRC32 0xcfcdd344 Rotation vers mysql-bin.000216 pos : 4<🎜><🎜>DELIMITER ;<🎜> <🎜>#Fin du fichier journal<🎜><🎜>ROLLBACK /* ajouté par mysqlbinlog */;<🎜><🎜>/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;<🎜><🎜>/*! 50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;<🎜><🎜 >[root@hch_test_dbm1_121_63 binlog]#<🎜>

PS : De cette façon, vous pouvez le voir L'instruction insert de dml, mais seul le bloc insert final est vu, mais pas la déclaration finale insert Dans de nombreux cas, le dépannage nécessite l'instruction insert originale au lieu de l'instruction <🎜 sous-jacente. > insérer un bloc. La question est donc de savoir comment voir l'instruction insert sql originale ?

4, passebinlog_rows_query_log_events paramètres pour afficher l'original insérer sql

( 4.1) Définissez d'abord les paramètres globaux binlog_rows_query_log_events en ligne et actualisez le journal :

mysql> set binlog_rows_query_log_events=1; sec)

mysql> set binlog_rows_query_log_events=1;

Query OK, 0 rows affected (0.01 sec)

mysql>

mysql> flush logs;

Query OK, 0 rows affected (0.01 sec)

mysql>exit

mysql>

mysql> vider les journaux ;Requête OK, 0 ligne affectée (0,01 sec) mysql> ; quitter

[root@hch_test_dbm1_121_63 ~]# mysql -utim -ptimgood -h192.168.121.63

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 19

Server version: 5.6.12-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

mysql> use test;

Database changed

mysql> insert into test1 select 3,'wanger','3','zhangsan road No 870,floor 603',now();

Query OK, 1 row affected (0.00 sec)

Records: 1 Duplicates: 0 Warnings: 0

mysql>

<🎜><🎜> <🎜><🎜><🎜><🎜>(< 🎜><🎜>4.2<🎜><🎜>) Puis reconnectez-vous pour saisir de nouveaux enregistrements de données : <🎜><🎜><🎜>
<🎜>[root @hch_test_dbm1_121_63 ~]# mysql -utim -ptimgood -h192.168.121.63<🎜><🎜>Avertissement : l'utilisation d'un mot de passe sur l'interface de ligne de commande peut être non sécurisée.< 🎜><🎜>Bienvenue dans le moniteur MySQL. Fin des commandes. avec ; ou g.<🎜><🎜>Votre identifiant de connexion MySQL est 19<🎜><🎜>Version du serveur : 5.6.12-log Distribution source<🎜>< 🎜> <🎜><🎜>Copyright (c) 2000 , 2013, Oracle et/ou ses sociétés affiliées. Tous droits réservés.<🎜><🎜> <🎜><🎜>Oracle est une marque déposée d'Oracle Corporation et/ou de ses<🎜><🎜>D'autres noms peuvent être. marques déposées de leurs<🎜><🎜>propriétaires respectifs.<🎜><🎜> <🎜><🎜>Tapez « help; » ou « h » pour obtenir de l'aide. Tapez « c » pour effacer l'instruction de saisie actuelle.<🎜> <🎜> <🎜><🎜>mysql><🎜><🎜>mysql> utiliser test ; insérer dans test1 sélectionner 3,'wanger','3','zhangsan road No 870,floor 603',now() ;<🎜><🎜>Requête OK, 1 ligne affectée (0,00 sec)<🎜><🎜 >Enregistrements : 1 Doublons : 0 Avertissements : 0<🎜><🎜> <🎜><🎜>mysql><🎜>< 🎜> <🎜>

4.3)解析binlog,没有看到原始的insert语句

[root@hch_test_dbm1_121_63 binlog]# /usr/local/mysql/bin/mysqlbinlog --base64-output=decode-rows -v mysql-bin.000216 >1.sql

[root@hch_test_dbm1_121_63 binlog]# more 1.sql

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET @@session.max_insert_delayed_threads=0*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#160820 10:31:30 server id 63 end_log_pos 120 CRC32 0x1e4d0366 Start: binlog v 4, server v 5.6.12-log created 160820 10:31:30

# Warning: this binlog is either in use or was not closed properly.

# at 120

#160820 10:32:04 server id 63 end_log_pos 200 CRC32 0xab0e625e Query thread_id=19 exec_time=0 error_code=0

SET TIMESTAMP=1471660324/*!*/;

SET @@session.pseudo_thread_id=19/*!*/;

SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;

SET @@session.sql_mode=1075838976/*!*/;

SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;

/*!\C utf8 *//*!*/;

SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;

SET @@session.time_zone='SYSTEM'/*!*/;

SET @@session.lc_time_names=0/*!*/;

SET @@session.collation_database=DEFAULT/*!*/;

BEGIN

/*!*/;

# at 200

# at 302

#160820 10:32:04 server id 63 end_log_pos 359 CRC32 0x41bf2876 Table_map: `test`.`test1` mapped to number 74

# at 359

#160820 10:32:04 server id 63 end_log_pos 447 CRC32 0x1a3ab3d8 Write_rows: table id 74 flags: STMT_END_F

### INSERT INTO `test`.`test1`

### SET

### @1=3

### @2='wanger'

### @3=3

### @4='zhangsan road No 870,floor 603'

### @5='2016-08-20 10:32:04'

# at 447

#160820 10:32:04 server id 63 end_log_pos 478 CRC32 0xc5081021 Xid = 208

COMMIT/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

[root@hch_test_dbm1_121_63 binlog]#

4.4)通过mysql的命令行查看最原始的insert sql语句,如下所示:


mysql>  show binlog events in &#39;mysql-bin.000216&#39;;
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------------------------------------+
| Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                                                             |
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------------------------------------+
| mysql-bin.000216 |   4 | Format_desc |        63 |         120 | Server ver: 5.6.12-log, Binlog ver: 4                                            |
| mysql-bin.000216 | 120 | Query       |        63 |         200 | BEGIN                                                                            || mysql-bin.000216 | 200 | Rows_query  |        63 |         302 | # insert into test1 select 3,&#39;wanger&#39;,&#39;3&#39;,&#39;zhangsan road No 870,floor 603&#39;,now() || mysql-bin.000216 | 302 | Table_map   |        63 |         359 | table_id: 74 (test.test1)                                                        |
| mysql-bin.000216 | 359 | Write_rows  |        63 |         447 | table_id: 74 flags: STMT_END_F                                                   |
| mysql-bin.000216 | 447 | Xid         |        63 |         478 | COMMIT /* xid=208 */                                                             |
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------------------------------------+
6 rows in set (0.00 sec)
 
mysql>
Copier après la connexion
Copier après la connexion


5, résumé du test

basé on À partir des expériences ci-dessus, on peut conclure qu'en mode ligne, vous pouvez afficher le module de données d'insertion de niveau inférieur via mysqlbinlog --base64-output=decode-rows –v , ou via la ligne de commande afficher les événements binlog dans 'mysql-bin.000216'; pour afficher l'enregistrement insertsql d'origine en temps réel.

Nous pouvons le définir à l'avance dans le fichier de paramètres de démarrage my.cnf lors de la construction de la base de données, comme indiqué ci-dessous :

# vim my.cnf

[mysqld]

binlog_format=row  # binlog 日志格式

binlog_rows_query_log_events = 1  # 将原始的操作sql记录写入事件中              


# vim my.cnf

[mysqld]


binlog_format= row

# binlog


Format du journal

binlog_rows_query_log_events = 1 # Convertir l'opération d'origine sql Événement d'écriture de disques                                                                           > Ce qui précède est un décryptage MySQL--> Instruction SQL en mode journal binaire ROW Pour plus de contenu connexe, veuillez faire attention au PHP. Site chinois (www.php.cn) !
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!