MySQL - 为备份锁定实例语句



LOCK INSTANCE FOR BACKUP 语句

您可以使用 MySQL LOCK INSTANCE FOR BACKUP 语句创建实例级备份锁。此锁允许在在线备份期间操作数据。这可以防止影响事务一致性的操作。

要执行此语句,您需要 BACKUP_ADMIN 权限(如果您具有 RELOAD 权限,则会自动授予此权限)。

当您拥有此锁时,您:

  • 无法创建、重命名或删除记录。
  • 无法修复、截断和优化表。
  • 可以执行仅影响用户创建的临时表的 DDL 操作。
  • 可以创建、重命名、删除临时表。
  • 可以创建二进制日志文件。

语法

以下是 MySQL **LOCK INSTANCE FOR BACKUP** 语句的语法:

LOCK INSTANCE FOR BACKUP

示例

假设我们创建了一个表,其中包含销售详细信息以及客户的联系方式,如下所示:

CREATE TABLE SALES_DETAILS (
   ID INT,
   ProductName VARCHAR(255),
   CustomerName VARCHAR(255),
   DispatchDate date,
   DeliveryTime time,
   Price INT,
   Location VARCHAR(255),
   CustomerAge INT,
   CustomrtPhone BIGINT,
   DispatchAddress VARCHAR(255),
   Email VARCHAR(50)
);

现在,让我们使用 INSERT 语句将 2 条记录插入到上面创建的表中:

Insert into SALES_DETAILS values
(1, 'Key-Board', 'Raja', DATE('2019-09-01'), TIME('11:00:00'), 7000, 
'Hyderabad', 25, '9000012345', 'Hyderabad – Madhapur', 
'pujasharma@gmail.com'),
(2, 'Mobile', 'Vanaja', DATE('2019-03-01'), TIME('10:10:52'), 9000, 
'Chennai', 30, '9000012365', 'Chennai- TNagar', 
'vanajarani@gmail.com');

如果我们想要另一个只包含客户联系信息的表,请创建一个表:

CREATE TABLE CustContactDetails (
   ID INT,
   Name VARCHAR(255),
   Age INT,
   Phone BIGINT,
   Address VARCHAR(255),
   Email VARCHAR(50)
);

下面的查询使用 INSERT INTO SELECT 语句将记录插入 CustContactDetails 表。在这里,我们尝试将 SALES_DETAILS 表中的记录插入到 CustContactDetails 表中:

INSERT INTO CustContactDetails (ID, Name, Age, Phone, Address, Email)
SELECT
 ID, CustomerName, CustomerAge, CustomrtPhone, DispatchAddress, Email
 FROM SALES_DETAILS
WHERE ID = 1 AND CustomerName = 'Raja';

INSERT INTO CustContactDetails (ID, Name, Age, Phone, Address, Email)
SELECT
ID, CustomerName, CustomerAge, CustomrtPhone, DispatchAddress, Email
FROM SALES_DETAILS
WHERE ID = 2 AND CustomerName = 'Vanaja';

您可以验证 CustContactDetails 表的内容,如下所示:

SELECT * FROM CustContactDetails;

输出

上面的查询产生以下输出:

ID 姓名 年龄 电话 地址 邮箱
1 Raja 25 9000012345 海德拉巴 - 马达普尔 pujasharma@gmail.com
2 Vanaja 30 9000012365 钦奈 - T Nagar vanajarani@gmail.com

以下查询集锁定实例,刷新上面创建的表,并解锁实例。

LOCK INSTANCE FOR BACKUP;

FLUSH TABLES emp, custcontactdetails WITH READ LOCK;

UNLOCK TABLES;

UNLOCK INSTANCE;
广告
© . All rights reserved.