2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
MySQL Bin Log
Binary Log, binarii stipes) est fasciculus stipes MySQL datorum, qui omnes modificationes ad datorum gestas refertDML
operationes (ut INDO, UPDATE, DELETE, etc.), sedExcludit inhaerentiam accidentis SELECTmanereDQL
Read-tantum operandi. Bin Log instrumentum magni momenti est pro MySQL ad consequendam replicationem, recuperationem et auditionem. For singularia vide;DDL, DML, DQL et DCL in MySQL
Functiones principales Bin Log includunt: replicatio domini, data recuperatio, notitia tergum, et notitia subscriptionis
Application missiones | conceptum | Casus |
---|---|---|
dominus servus replicatio | Magister bibliothecam in binlogo ad bibliothecam ancillae cinematographicam renovationem mittit, et servus bibliothecam binlogum legit et declarationes SQL exequens. | E-commerce suggestum: Summa database records ordo operationes ad binlog, et synchronizat ordinem data e datorum ad conservandam omnium nodis constantiam. |
Data Recuperatio | Usus binlog monumentis vicissim exsequi SQL dicta recuperare notitia | Systema pecuniarium: Magistratus tabulas transactiones casu deleverunt recuperant per parsing binlog ut integritatem datam curent et damna oeconomicorum evitent. |
notitia tergum | Binlog ponitur pro tergum incrementi, salvis tergum temporis et spatii sumptibus | Socialis instrumentorum suggestus: binlogorum lima tergum sursum regulariter in dies singulos ut cito ad novissimum statum restituat sine toti database ut plene resupinetur. |
Data subscriptione | Utere binlog ad monitor database update res in ipsa hora | Analysis realis-tempus turmarum grossorum: Per parsing binlog, operatio venditionis record insertio capitur et transfertur ad analysin suggestum in reali tempus pro venditionibus analysi inclinatio. |
Per hos casus specificos clarius perspicere possumus momentum et diversitatem MySQL binlog in applicationibus practicis. Proprius usus functionis binlogi multum emendare potest systematis fidem, recuperare facultatem, ac celeritas negotii responsionis.
Cum MySQL server dat munus Bin Log, omnes operationes modificationis datorum eruntres recordum ad bin lima stipes. Hae eventus in ordine exsecutionis reponuntur, continuam operationem consequentiam efficiunt. Hae eventus reddi possunt ad statum datorum recreandum, cum notitiae necessitates restituendae vel transcribendae sunt.
MySQL Bin Log tres habet formas recordum:
Subsequens est tres formas recordorum MySQL Bin Log in formam tabulae constitutos:
recordum forma | describere | commodum | defectus |
---|---|---|---|
Statement-Substructio Logging (SBL) | Commemorare supplicium SQL dicitur ipsum | Log volumen parvum est et operationibus simplicibus SQL aptum. | Data constantia in aliquibus casibus praestari non potest, sicut functiones non determinatae (ut nunc ()) |
Row-Substructio Logging (RBL) | Adnotent specifica mutationes cuiusque ordinis notitia | Accuratior, apta ad multiplices operationes et exscribendas | Magnum volumen stipes, orbis magnus et supra caput retis |
Mixta Logging (ML) | Commutatio inter modum enuntiationis et Row secundum circumstantias specificas. | attentis commodis utriusque | Complexum relativum ad efficiendum et administrandum |
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, 1 warning (0.00 sec)
Ut bin Log, debes configurare fasciculi MySQL configurationem (plerumque"my.cnf
or *my.ini
) et sequenti configuratione praestare :
[mysqld]
log-bin=mysql-bin
server-id=1
Post configurationem mutato, sileo mysql.implementSHOW VARIABLES LIKE 'log_bin';
Valor DE.
mysql> show variables like "%log_bin%";
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 2
Current database: *** NONE ***
+---------------------------------+--------------------------------------------------------------------------+
| Variable_name | Value |
+---------------------------------+--------------------------------------------------------------------------+
| log_bin | ON |
| log_bin_basename | C:UsershiszmMySQL5.7.26databinlog |
| log_bin_index | C:UsershiszmMySQL5.7.26databinlog.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+--------------------------------------------------------------------------+
6 rows in set, 1 warning (0.01 sec)
Communis Bin Log configuration parametri includit:
log_bin
: Admitte Bin Log.server_id
: Servo singulari identifier, replicandi usus est.binlog_format
: Forma Bin Log (SENTENTIA, ROW, MIXTA).expire_logs_days
Pone numerum dierum pro automatic expiratione et deletione Bin Stipes lima.max_binlog_size
: Pone maximam magnitudinem unius Bin Log lima.Commune imperium administrandi Bin Log files:
View Bin Log file album:
SHOW BINARY LOGS;
View Bin Log lima amplitudo:
SHOW MASTER STATUS;
Delere vetus Bin Log files:
PURGE BINARY LOGS TO 'mysql-bin.000010';
vel:
PURGE BINARY LOGS BEFORE '2024-01-01 00:00:00';
-- 创建一个名为 'simple_table' 的表
CREATE TABLE `simple_table` (
`item_id` int(11) NOT NULL, -- 项目编号
`value` int(11) DEFAULT NULL, -- 值
`last_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 最后更新时间
PRIMARY KEY (`item_id`), -- 设置项目编号为主键
KEY `value_index` (`value`), -- 为值字段创建索引
KEY `update_time_index` (`last_updated`) -- 为最后更新时间字段创建索引
) ENGINE=InnoDB; -- 使用InnoDB存储引擎
-- 插入数据,将日期设置为当前日期
insert into `simple_table` values(1, 1, '2024-07-07');
insert into `simple_table` values(2, 2, '2024-07-07');
insert into `simple_table` values(3, 3, '2024-07-07');
insert into `simple_table` values(4, 4, '2024-07-07');
insert into `simple_table` values(5, 5, '2024-07-07');
Utere mysqlbinlog instrumentum videre contenta Bin Log:
mysql> show binary logs;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Current database: *** NONE ***
+---------------+-----------+
| Log_name | File_size |
+---------------+-----------+
| binlog.000001 | 2411 |
+---------------+-----------+
1 row in set (0.00 sec)
Si directe aperias, interpolata erit.
mysql> show binlog events in 'binlog.000001' from 0 limit 0,4G;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 6
Current database: *** NONE ***
*************************** 1. row ***************************
Log_name: binlog.000001
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 123
Info: Server ver: 5.7.26-log, Binlog ver: 4
*************************** 2. row ***************************
Log_name: binlog.000001
Pos: 123
Event_type: Previous_gtids
Server_id: 1
End_log_pos: 154
Info:
*************************** 3. row ***************************
Log_name: binlog.000001
Pos: 154
Event_type: Anonymous_Gtid
Server_id: 1
End_log_pos: 219
Info: SET @@SESSION.GTID_NEXT= 'ANONYMOUS'
*************************** 4. row ***************************
Log_name: binlog.000001
Pos: 219
Event_type: Query
Server_id: 1
End_log_pos: 765
Info: use `d`; -- 创建一个名为 'simple_table' 的表
CREATE TABLE `simple_table` (
`item_id` int(11) NOT NULL, -- 项目编号
`value` int(11) DEFAULT NULL, -- 值
`last_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 最后更新时间
PRIMARY KEY (`item_id`), -- 设置项目编号为主键
KEY `value_index` (`value`), -- 为值字段创建索引
KEY `update_time_index` (`last_updated`) -- 为最后更新时间字段创建索引
) ENGINE=InnoDB
4 rows in set (0.01 sec)
ERROR:
No query specified
mysqlbinlog est instrumentum lineae mandatum ad parse Bin Stipes lima. Optiones communes includunt:
--start-datetime
: Specificare tempus quo incipit parsing.--stop-datetime
: Specificare tempus cum parsing finit.--start-position
: Specificare locum ubi parsing incipit.--stop-position
: Specificare loco ubi parsing finit.Exempli gratia, videre Bin Log pro certo tempore;
mysqlbinlog --start-datetime="2024-07-01 00:00:00" --stop-datetime="2024-07-01 12:00:00" binlog.000001
Bin Log certe replayed in MySQL servo pro notitia recuperatio:
mysqlbin logbinlog.000001 | mysql -u root -p
Praecipuum replicationis MySQL domini-servi principium est quod dominus datorum scribit Bin Log, et servus datorum legit ac remittit haec omnia ad synchronizationem datam consequendam. Imprimis gradus sunt haec:
Configurare pelagus bibliotheca:
[mysqld]
log-bin=mysql-bin
server-id=1
Configurare bibliothecam servi:
[mysqld]
server-id=2
relay-log=relay-bin
User replicationem creare primaria database:
CREATE USER 'replica'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
Replicationem configurare in servo database:
CHANGE MASTER TO
MASTER_HOST='主库IP',
MASTER_USER='replica',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='binlog.000001',
MASTER_LOG_POS=0;
START SLAVE;
Reprehendo replicationem status:
SHOW SLAVE STATUSG
Replicatio status in hoc mandato viverra potest:
SHOW SLAVE STATUSG
Communis status agri explicationes:
Slave_IO_Running
: IO stamina spectatur.Slave_SQL_Running
: SQL status filum.Seconds_Behind_Master
: tempus bibliothecae servi pignerat bibliothecae magistri.Incrementale tergum significat tergum sursum omnes mutationes cum ultima plena tergum vel ultimum incrementi tergum. Incrementale tergum effici potest utendo Bin Log.
Praestare plenum tergum:
mysqldump --all-databases --master-data=2 > full_backup.sql
Log Bin ad hodiernam recordarentur situ:
Quaerite sequentes lineas in plena lima tergum:
-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.000001', MASTER_LOG_POS=12345;
Tergum Bin Log:
mysqlbinlog --start-position=12345 binlog.000001 > incremental_backup.sql
Restituere plena tergum:
mysql < full_backup.sql
Applicare incremental tergum:
mysql < incremental_backup.sql
MySQL Bin Log
Instrumentum validum est quod late in missionibus adhibetur ut receptae notitiae, replicationis et auditionis.Per recte Vestibulum ac utensBin Log
, quae firmitatem et promptitudinem database MySQL in melius emendare possunt. In applicationibus practicis, pendet pro administratoribus datorum et machinis ut peritias et optimizationes modos Bin Log vincat.