只读属性怎么来的初值_设置Mysql表只读,关键时刻或许能救你一命
作为一名数据库运维人员,应该遇到过表记录被异常全表更新,这个时候该怎么办。作为Mysql数据库运维人员,第一反应,应该就是上报,然后联系开发人员,确认此表作用,然后再确定恢复方案。
在这里举一个配置表的例子,如果配置被异常更新,则需要先将被设置成只读,然后从备份里恢复出数据,或者看看产品是否能做出配置数据。
在这里就来详细说一下表是如何设置成只读。
1.设置表只读
[root@localhost] 10:46:02 [sbtest]>show tables;+------------------+| Tables_in_sbtest |+------------------+| sbtest1 || t_test |+------------------+2 rows in set (0.00 sec)[root@localhost] 10:46:03 [sbtest]>lock tables t_test read;Query OK, 0 rows affected (0.00 sec)
2.测试表只读是否生效
[tony@localhost] 10:47:03 [sbtest]>insert into t_test values(2000,93333,'efsdaf','fdsaf');[root@localhost] 10:47:26 [(none)]>show full processlist;+----+-----------------+-----------+--------+---------+--------+---------------------------------+--------------------------------------------------------+| Id | User | Host | db | Command | Time | State | Info |+----+-----------------+-----------+--------+---------+--------+---------------------------------+--------------------------------------------------------+| 5 | event_scheduler | localhost | NULL | Daemon | 418013 | Waiting on empty queue | NULL || 75 | root | localhost | sbtest | Sleep | 64 | | NULL || 76 | tony | localhost | sbtest | Query | 23 | Waiting for table metadata lock | insert into t_test values(2000,93333,'efsdaf','fdsaf') || 78 | root | localhost | NULL | Query | 0 | starting | show full processlist |+----+-----------------+-----------+--------+---------+--------+---------------------------------+--------------------------------------------------------+4 rows in set (0.00 sec)
从上面可以看到,insert插入操作已经被堵塞了,等待的是表元数据锁。
3.解锁表只读锁
当恢复sql准备好之后,就可以解锁表的只读锁。
[root@localhost] 10:50:20 [sbtest]>unlock tables;Query OK, 0 rows affected (0.00 sec)
解锁之后,就可以正常插入记录了。
[tony@localhost] 10:50:46 [sbtest]>insert into t_test values(2000,93333,'efsdaf','fdsaf');Query OK, 1 row affected (0.44 sec)
喜欢的,可以添加关注
只读属性怎么来的初值_设置Mysql表只读,关键时刻或许能救你一命相关推荐
- mysql表名不区分大小写_设置mysql表名不区分大小写
查看mysql版本: [root@localhost logs]# mysql -V mysql Ver14.14 Distrib 5.6.37, for linux-glibc2.12 (x86_6 ...
- mysql拒绝访问root用户_设置mysql的root用户允许远程登录
设置MySQL的root用户允许远程登录 连接数据库 [root@localhost ~]# mysql -uroot -p密码 选择mysql数据库 mysql> use mysql; 设置访 ...
- mysql 时区设定_设置MySQL默认时区
MySQL默认的时区是UTC时区,比北京时间晚8个小时. 假设日志里面的时间是中午12:00,那么北京时间应该是晚上的8:00点钟. 为方便查看和设置时间,我们要设置MySQL的默认时区,以符合本地使 ...
- mysql设置最大使用内存_设置MySQL使用大内存页面
一般情况下使用的内存为每页4K,使用 huge page 的话默认是每页 2M.如果设置MySQL使用 huge page 至少有两个好处,一个是可以减少 Translation Lookaside ...
- mysql 编码格式_设置MySQL的字符编码
前言 这里我已经将MySQL的数据库编码设置为UTF-8,所以下面现实的都是UTF-8. 设置MySQL数据库的编码方式有三种,分别是基于session会话的.基于全局gloable的.永久性改变的. ...
- mysql 碎片率_计算MySQL表碎片的SQL整理
原标题:计算MySQL表碎片的SQL整理 这是学习笔记的第 2111 篇文章 在之前整理过一版MySQL的数据字典,整理了一圈,发现远比想象的复杂. 当然整理的过程不光是知识梳理的过程,也是转化为实践 ...
- mysql 控制id复原_清空mysql表后,自增id复原
一.清除mysql表中数据 deletefrom表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以 ...
- maxvalue mysql自动分区_创建mysql表分区的方法
创建 mysql 表分区的方法 我来给大家介绍一下 mysql 表分区创建与使用吧,希望对各位同学会有所帮助.表分区的测试使用,主要内容来自 于其他博客文章以及 mysql5.1 的参考手册. 表分区 ...
- mysql 表列表_一个MySQL表中的多列表显示
从MySQL表中显示多列时遇到问题 这很简单 - 我有28条记录,我想做7行4行 - 每条记录只有两列 - id#和name(表中的"句柄"). 我的问题是,当我使用 > $ ...
最新文章
- Kostya Keygen#2分析
- UITextView添加占位字符
- autofac 用法总结
- php跨域请求解决方案_swoft2 -跨域与中间件详解
- 蓝桥杯——机器人行走
- SVG_text.动态创建换行显示(横)
- c语言2维动态数组,如何创建一个动态2维数组?
- 几个关于oracle 11g ASM的问题
- ORB-SLAM 解读(二) ORB描述子如何实现旋转不变性
- IQ推理:P先生和Q先生
- informix php,连接到informix数据库 - PHP 方式
- 软件工程导论习题集 | 170道选择 | 50道填空 | 40道简答 | 其他试卷资源
- matlab句柄无效怎么解决,新编MATLABSimulink自学一本通第21章 MATLAB程序编译.ppt
- Castaways钓鱼还能参与么,数据来告诉你答案
- 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器 DirectInput专场
- Python编程语言好学吗 怎么能学好Python开发
- open /data/prometheus: too many open files
- 《狂飙》壁纸大嫂如此惊艳,做成日历壁纸天天看(7)
- php账号登录验证手机号码,最完整的php验证手机号码
- 网络安全学习笔记——红队实战攻防(上)
热门文章
- GTK+ 2.4 or later isn't available
- python def函数_Python教程之Lambda表达式知识概述
- oracle如何并发重建索引,oracle数据库如何重建索引?
- android蓝牙4.0使用方法
- 图解springmvc 执行流程
- 注解和反射实现dao层增删改查
- linux使用root操作文件,以root用户登录Linux系统,当前目录是/root,要求完成如下操作和功...
- display:table的用法
- BZOJ 2768 [JLOI2010]冠军调查
- linux下搭建mongodb副本集