Cet article présente l'utilisation de mysql binlog, y compris l'ouverture, la fermeture, l'affichage de l'état, l'actualisation, l'effacement, l'affichage des instructions SQL exécutées et d'autres opérations. Les paramètres de la 5.7 et des versions antérieures sont également expliqués pour faciliter l'apprentissage par tous.
binlog est un journal binaire, un fichier journal binaire qui enregistre toutes les opérations mysql dml.
Selon le fichier binlog mysql, nous pouvons vérifier quelles instructions SQL ont été exécutées, effectuer une récupération de données, une réplication synchrone maître-esclave et d'autres opérations.
Le fichier binlog joue un rôle important dans le traitement et la récupération d'une base de données.
Afficher la configuration du binlog mysql
show global 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 |+---------------------------------+-------+
le binlog est actuellement fermé.
Ouvrez binlog
Ouvrez my.cnf ou my.ini et ajoutez ce qui suit déclaration, Redémarrer mysql
log_bin=ONlog_bin_basename=/usr/local/var/mysql/mysql-binlog_bin_index=/usr/local/var/mysql/mysql-bin.index
log_bin
ON signifie ouvrir le journal binlog et le changer en OFF.
log_bin_basename
représente le nom de fichier de base du journal binlog, et un identifiant sera ajouté pour distinguer chaque fichier.
log_bin_index
Spécifie le fichier d'index du fichier binlog Ce fichier gère le répertoire de tous les fichiers binlog.
S'il s'agit de MySQL 5.7 ou inférieur, ce paramètre est suffisant. S'il s'agit de 5.7 ou supérieur, vous devez le définir comme suit
log_bin=mysql-binserver_id=123456
<🎜. >log_bin représente le nom du fichier binlog personnalisé.
server_id signifie spécifier aléatoirement une chaîne qui n'a pas le même nom que les autres machines du cluster. Elle doit être définie lors de la configuration de la réplication MySQL. Elle ne peut pas être répétée. avec l'esclaveId du canal.
Après le redémarrage, vérifiez à nouveau la configuration du binlog mysql
show global variables like '%log_bin%'; +---------------------------------+--------------------------------------+| Variable_name | Value | +---------------------------------+--------------------------------------+| log_bin | ON | | log_bin_basename | /usr/local/var/mysql/mysql-bin | | log_bin_index | /usr/local/var/mysql/mysql-bin.index | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF |+---------------------------------+--------------------------------------+
show master logs; +------------------+-----------+| Log_name | File_size | +------------------+-----------+| mysql-bin.000001 | 177 | | mysql-bin.000002 | 177 | | mysql-bin.000003 | 177 | | mysql-bin.000004 | 177 | | mysql-bin.000005 | 177 | | mysql-bin.000006 | 177 | | mysql-bin.000007 | 201 | | mysql-bin.000008 | 201 | | mysql-bin.000009 | 201 || mysql-bin.000010 | 154 | +------------------+-----------+
show master status; +------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+| mysql-bin.000010 | 154 | | | | +------------------+----------+--------------+------------------+-------------------+
flush logs;
reset master;
mysqlbinlog pour le traitement.
Tout d'abord, selonlog_bin_basename, recherchez le répertoire dans lequel le fichier binlog est stocké, puis utilisez l'outil mysqlbinlog pour afficher le fichier binlog correspondant.
Par exemple :
mysqlbinlog -v mysql-bin.000001 > mysql-bin-1.log
BINLOG ' Xq1HWhNA4gEAPAAAAGQBAAAAAPEEAAAAAAEACXRlc3RfdXNlcgAGY3NfdGFnAAUDDwEDAwL9AgBa WZlG Xq1HWh5A4gEANwAAAJsBAAAAAPEEAAAAAAEAAgAF/+ACAAAABABjc2RuAf2LG1r9ixtaIS88ZA== '/*!*/;### INSERT INTO `test_user`.`cs_tag`### SET### @1=2### @2='csdn'### @3=1### @4=1511754749### @5=1511754749# at 411
Vous devez faire attention à quelques points lors de l'utilisation de mysqlbinlog
1 Ne vérifiez pas le fichier binlog en cours d'écriture. Vous pouvez copier le fichier. vers un autre répertoire. Vérifiez d'abord à nouveau. 2. N'ajoutez pas de paramètre de force pour forcer l'accès. 3. Si le format binlog est en mode ligne, veuillez ajouter le paramètre -vv. Cet article explique comment utiliser mysql binlog Pour plus de connaissances connexes, veuillez faire attention au site Web chinois de php. Recommandations associées :Expliquez le contenu pertinent de PHP à l'aide de l'algorithme de compartiment à jetons pour implémenter un contrôle de flux basé sur Redis
Comment passer php crée une classe de code QR avec logo
Explication détaillée des méthodes associées de MySQL pour reconstruire les partitions de table et conserver les données
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!