mysql 设置数据库只读_如何设置mysql数据库为只读
直奔主题,mysql设置为只读后,无法增删改。
设置命令:
mysql>set global read_only=1; #1是只读,0是读写
mysql> show global variables like "%read_only%";
以下是相关说明:
1、对于数据库读写状态,主要靠 “read_only”全局参数来设定;
2、默认情况下,数据库是用于读写操作的,所以read_only参数也是0或faluse状态,这时候不论是本地用户还是远程访问数据库的用户,都可以进行读写操作;
3、如需设置为只读状态,将该read_only参数设置为1或TRUE状态,但设置 read_only=1 状态有两个需要注意的地方:
1)read_only=1只读模式,不会影响slave同步复制的功能,所以在MySQL slave库中设定了read_only=1后,通过 show slave status\G ,命令查看salve状态,可以看到salve仍然会读取master上的日志,并且在slave库中应用日志,保证主从数据库同步一致;
2)read_only=1只读模式,可以限定普通用户进行数据修改的操作,但不会限定具有super权限的用户的数据修改操作;在MySQL中设置read_only=1后,普通的应用用户进行insert、update、delete等会产生数据变化的DML操作时,都会报出数据库处于只读模式不能发生数据变化的错误,但具有super权限的用户,例如在本地或远程通过root用户登录到数据库,还是可以进行数据变化的DML操作;
那么super用户怎么控制读写?
1、为了确保所有用户,包括具有super权限的用户也不能进行读写操作,就需要执行给所有的表加读锁的命令 “flush tables with read lock;”这样使用具有super权限的用户登录数据库,想要发生数据变化的操作时,也会提示表被锁定不能修改的报错。
1)这样通过 设置“read_only=1”和“flush tables with read lock;”两条命令,就可以确保数据库处于只读模式,不会发生任何数据改变。
2)但同时由于加表锁的命令对数据库表限定非常严格,如果在slave从库上执行这个命令后,slave库可以从master读取binlog日志,但不能够应用日志,slave库不能发生数据改变,当然也不能够实现主从同步了,这时如果使用 “unlock tables;”解除全局的表读锁,slave就会应用从master读取到的binlog日志,继续保证主从库数据库一致同步。
2、为了保证主从同步可以一直进行,在slave库上要保证具有super权限的root等用户只能在本地登录,不会发生数据变化,其他远程连接的应用用户只按需分配为select,insert,update,delete等权限,保证没有super权限,则只需要将salve设定“read_only=1”模式,即可保证主从同步,又可以实现从库只读。
3、设定“read_only=1”只读模式开启的解锁命令为设定“read_only=0”;设定全局锁“flush tables with read lock;”,对应的解锁模式命令为:“unlock tables;”.
4、当然设定了read_only=1后,所有的select查询操作都是可以正常进行的。
mysql 设置数据库只读_如何设置mysql数据库为只读相关推荐
- 设置mysql数据库为只读_如何设置mysql数据库为只读
直奔主题,mysql设置为只读后,没法增删改.html 设置命令:mysql mysql>set global read_only=1; #1是只读,0是读写 sql mysql> ...
- mysql 设置连接超时_如何配置MySQL数据库超时设置
最近备战京东双11,在配置MySQL的超时配置发现有很多地方可以设置.这么多超时的配置有什么影响,以及配置会有什么影响呢?今天的文章就让我来大家来分析一下. 1. JDBC超时设置 connectTi ...
- 如何设置mysql的运行目录_如何修改mysql数据库文件的路径 | 学步园
在网上找了好多,没有确定哪个是最终的答案,由于网站在运行中,实在不敢轻易动手,怎么奈我是个菜鸟呢!先把找到的东西简单记录一下,回头再说! 还有一个: 首先在数据库里看一下数据库里当前数据文件的存放路径 ...
- mysql双机数据热备份_如何设置MySql数据同步实现双机热备份
mysql从3.23.15版本以后就提供了数据库复制功能,利用该功能可实现两个数据库以主从模式来同步数据.互相备份的功能.数据库同步复制功能的设置都在mysql的设置文件中体现.该方案实施的一大基本原 ...
- mysql设置负载均衡_如何设置mysql的负载均衡?
MySQL作为中小型办公室都会选择的数据库系统,在安装前工作人员需要知道mysql安装前所必需的环境,今天跟大家分享下mysql的负载均衡问题. 本文将介绍MySQL的负载均衡问题,包括环境介绍,操作 ...
- mysql怎么设置登录密码_怎么设置mysql的登录密码
怎么设置mysql的登录密码 发布时间:2020-10-09 19:21:35 来源:亿速云 阅读:80 作者:小新 小编给大家分享一下怎么设置mysql的登录密码,相信大部分人都还不怎么了解,因此分 ...
- mysql数据库参考_干货:MySQL数据库优化参考
标签: 本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就 ...
- 监控mysql数据库 更新_实时监控mysql数据库变化
对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...
- mysql 20小时内_生产环境删除数据库,如何实现在1小时内快速恢复?
可以使用mysql的延迟复制功能. 设置mysql 从库 延迟30分钟或者某个 1小时复制. 比如有人误操作的表,那么这个操作在延迟时间内,从库的数据并没有发生变化,可以用从库的数据进行快速恢复. 把 ...
最新文章
- 8、D8: Default interface methods are only supported starting with Android N (--min-api 24): void
- 安卓手机如何打开php文件夹,Android_Android中调用系统的文件浏览器及自制简单的文件浏览器,调用系统自带的文件浏览器- phpStudy...
- 全球视频监控设备市场规模分析
- python:改良廖雪峰的使用元类自定义ORM
- 20191017:C++入门经典书籍学习目录01
- Phoenix命令及语法
- 循证医学 计算机辅助决策系统,循证医学重点整理
- Centos 5.8 搭建ntp服务器
- PHP中英双语网站的设计思路
- 地磅15针到9针数据线连接串口数据采集方法
- 局域网 广域网 IP TCP UDP
- avue框架中使用富文本编辑器
- 基于Python绘制一个摸鱼倒计时界面
- Linux编辑firmware的文件,rk3328编译Linux固件
- 利用grub引导多系统debian8.0+win7+ubuntu16.04
- Python:利用高德API获取公交路线并可视化
- matlab 获得子矩阵,matlab – 获取所有子矩阵
- [ 笔记 ] 计算机网络安全_1_网络安全基础
- 《那些年 在美国》读书笔记-1
- 一体化伺服电机外接制动电阻线如何接
热门文章
- [VMM 2008虚拟化之初体验-1] 准备环境
- 基于RStudio 实现数据可视化之二
- Linux环境下利用句柄恢复Oracle误删除的数据文件
- inside the C++ Object model总结
- Java编程中“为了性能”尽量要做到的一些地方 [转]
- QTWebkit中的webkit/qt/api文档
- 【转】jquery ui中文说明(使用方法)
- ElasticSearch之term vector
- DelayedOperation分析
- 基于ZYNQ FPGA实现数据采集与传输系统设计