mysql数据库全局只读和会话只读问题解析

对于系统的发布是经常有的事情,有些时候需要隔绝外界对数据库的更改但是还要求可以读取数据,对于mss sql 这个就是很简单,直接属性—>选项—>只读 ,但是对于mysql这是不同的,今天仔细研究了一下mysql对于单独和实例只读的设置

这里不介绍mysql通过对于账户权限控制来达到数据库只读的方式,这里主要说明数据库参数的控制方式

1.read_only参数

解析:这是mysql的全局参数,默认设置为0

想要整个库只读只需要设置这个参数为为1 即  set global read_only=1;

注意:这个参数是super权限的用户和从服务器从主机复制的线程不会被影响,所以主从中建议在从服务器设置为参数1

对于mysql权限分配时注意收回super权限,这样才可以全局保证数据库为只读

read_only 参数并不适用临时表,也不适用于系统服务插入日志表,总体来讲这个参数只是限制不让没有super权限的账户修改表的结构和内容,并且具有super权限的可以对数据库更新等操作,但是有个缺点就是这个参数是全局变量,而生产中多数是一个实例多个数据库。

延伸:tx_read_only参数,这个参数是一个全局和会话变量,并且我测试过这个参数会导致所有的账户都只有只读权限,并且存储引擎是myisam的时候,这个变量也是起作用的。

时间: 2024-10-12 08:33:11

mysql数据库全局只读和会话只读问题解析的相关文章

mysql数据库 BETWEEN 语法的用法和边界值解析

between用法: 用于where表达式中,选取两个值之间的数据,如: 1 SELECT id FROM user WHERE id BETWEEN value1 AND value2; 当between前面加上not运算符时,表示取value1和value2范围外的值. 1 SELECT id FROM user WHERE id NOT BETWEEN 2 AND 5; between边界解析: 通过例子可以看出查出来的结果是    2=< id <=5:可见在mysql数据库中,bet

架构设计:系统存储(5)——MySQL数据库性能优化(1)

接上文:<架构设计:系统存储(4)--块存储方案(4)> 1.MySQL概述 从本文开始我们将讨论建立在块存储方案之上的关系型数据库的性能优化方案和集群方案.关系型数据库的选型将以创业公司.互联网行业使用最广泛的MySQL数据为目标,但是MySQL的安装过程和基本使用方法等知识并不在我们讨论的范围内.后续几篇文章我们首先讨论影响单个MySQL节点性能的主要因素,然后介绍MySQL读写分离.数据表横纵拆分的原理和技术方案. MySQL数据库目前已被Oracle收购,并发展处多个版本.目前使用最广

MySQL数据库设置为只读及测试【转】

转自 mysql只读模式的设置方法与实验 - yumushui的专栏 - CSDN博客http://blog.csdn.net/yumushui/article/details/41645469 在MySQL数据库中,在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-slave的设置和关系. 经过实际测试,对于mysql单实例数据库和master库,如果需要设置为只读状态,需要进行如下操作和设置:      将MySQL设置为只读状态的命令: # mysql -uroot -

Mysql数据库周末学习之Mycat全局表 mysql DBA

Mysql数据库业务中有些数据类似于数据字典,比如配置文件的配置,常用业务的配置或者数据量不大很少变动的表,这些表往往不是特别大,但是大部分的业务场景都会用到,那么这种表适合于Mycat全局表,无须对数据进行切分,只要在所有的分片上保存一份数据即可,Mycat在Join操作中,业务表与全局表进行Join聚合会优先选择相同分片内的全局表join,避免跨库Join,在进行数据插入操作时,mycat将把数据分发到全局表对应的所有分片执行,在进行数据读取时候将会随机获取一个节点读取数据. 全局表的配置如

一、MySQL数据库基础

1.1.数据库模型 数据库由一批数据构成有序集合,这些数据被存在结构化的数据表中.数据表之间互相关联,反应客观事物间的本质联系.数据库系统提供对数据的安全控制和完整性控制.数据库的发展大致划分为几个阶段:人工管理阶段.文件系统阶段.数据库系统阶段.高级数据库阶段.其种类大概有3种:层次式数据库.网络式数据库和关系式数据库. 文本数据库缺陷:数据冗余和不一致,数据访问困难,数据孤立,完整性问题,原子性问题并发访问问题,安全性问题. 数据库系统的特性:数据管理独立性:有效地完成数据存取:数据完整性和

Mysql基准测试详细解说(根据慕课网:《打造扛得住Mysql数据库架构》视频课程实时笔录)

什么是基准测试 基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以及评估变化对性能的影响. 我们可以这样认为:基准测试是针对系统设置的一种压力测试.用来观察系统在不同压力下的行为,评估系统的容量,观察系统如何处理不同的数据,但是要注意的是基准测试和通常所说的压力测试还是有区别的. 基准测试要尽量的直接和简单,使各个结果之间容易比较,基准测试所使用的数据通常是由测试工具所生成的,只能用于评估服务器的 处理能力:而压力测试通常是通过真实

一:MySQL数据库的性能的影响分析及其优化

MySQL数据库的性能的影响分析及其优化 MySQL数据库的性能的影响 一. 服务器的硬件的限制 二. 服务器所使用的操作系统 三. 服务器的所配置的参数设置不同 四. 数据库存储引擎的选择 五. 数据库的参数配置的不同 六. (重点)数据库的结构的设计和SQL语句 1). 服务器的配置和设置(cpu和可用的内存的大小) 1.网络和I/O资源 2.cpu的主频和核心的数量的选择 (对于密集型的应用应该优先考虑主频高的cpu) (对于并发量大的应用优先考虑的多核的cpu) 3.磁盘的配置和选择 (

Mysql数据库的触发器、存储引擎和存储过程

数据库的触发器 1.触发器 触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句(或位于BEGIN和END语句之间的一组语句): DELETE,INSERT,UPDATE 我们可以监视某表的变化,当发生某种变化时,触发某个操作. 能监视:增,删,改 触发操作:增,删,改 2.触发器应用场景: 1.当向一张表中添加或删除记录时,需要在相关表中进行同步操作.比如,当一个订单产生时,订单所购的商品的库存量相应减少. 2.当表上某列数据的值与其他表中的数据有联系时.比如,当某客户进行欠款消费

Mysql数据库性能优化大总结

目录:[TOC] 影响数据库服务器性能的因素 超高的QPS(每秒钟处理的查询量)和TPS导致SQL处理效率下降. 大量的并发导致的数据库连接数被占满和超高的CPU占用率导致资源耗尽服务器宕机. 磁盘IO性能瓶颈导致数据传输效率下降,计划任务导致磁盘IO下降. 网卡IO性能瓶颈,要减少从服务器数量,缓存要分级,避免使用 select * 这样的查询. 大表导致的问题: 不同数据库引擎对于大表的概念是不一样的. InnoDB存储引擎没有明确的大表概念. 实际使用中发现当一个数据表中的数据超过千万行的