zoukankan      html  css  js  c++  java
  • 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的时候,这个变量也是起作用的。
  • 相关阅读:
    常用模块——time模块,datetime模块
    开发目录的规范

    模块
    day17作业
    面向过程编程
    函数递归
    谈谈作为一个菜B的培训感受
    絮叨机房精密空调的制冷剂
    接入机房产生冷凝水
  • 原文地址:https://www.cnblogs.com/jiangwenju/p/5169849.html
Copyright © 2011-2022 走看看