在MySQL数据库中,在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-slave的设置和关系。
 
 
经过实际测试,对于MySQL单实例数据库和master库,如果需要设置为只读状态,需要进行如下操作和设置:
将MySQL设置为只读状态的命令:
# mysql -uroot -p
mysql> show global variables like "%read_only%";
mysql> flush tables with read lock;
mysql> set global read_only=1;
mysql> show global variables like "%read_only%";
 
 
将MySQL从只读设置为读写状态的命令:
mysql> unlock tables;
mysql> set global read_only=0;
 
 
对于需要保证master-slave主从同步的salve库,如果要设置为只读状态,需要执行的命令为:
mysql> set global read_only=1;
 
 
将salve库从只读状态变为读写状态,需要执行的命令是:
mysql> set global read_only=0;
 
 
     对于数据库读写状态,主要靠 “read_only”全局参数来设定;默认情况下,数据库是用于读写操作的,所以read_only参数也是0或faluse状态,这时候不论是本地用户还是远程访问数据库的用户,都可以进行读写操作;如需设置为只读状态,将该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权限的用户也不能进行读写操作,就需要执行给所有的表加读锁的命令 “flush tables with read lock;”,这样使用具有super权限的用户登录数据库,想要发生数据变化的操作时,也会提示表被锁定不能修改的报错。
 
        这样通过 设置“read_only=1”和“flush tables with read lock;”两条命令,就可以确保数据库处于只读模式,不会发生任何数据改变,在MySQL进行数据库迁移时,限定master主库不能有任何数据变化,就可以通过这种方式来设定。
 
       但同时由于加表锁的命令对数据库表限定非常严格,如果再slave从库上执行这个命令后,slave库可以从master读取binlog日志,但不能够应用日志,slave库不能发生数据改变,当然也不能够实现主从同步了,这时如果使用 “unlock tables;”解除全局的表读锁,slave就会应用从master读取到的binlog日志,继续保证主从库数据库一致同步。
 
       为了保证主从同步可以一直进行,在slave库上要保证具有super权限的root等用户只能在本地登录,不会发生数据变化,其他远程连接的应用用户只按需分配为select,insert,update,delete等权限,保证没有super权限,则只需要将salve设定“read_only=1”模式,即可保证主从同步,又可以实现从库只读。
 
 
       相对的,设定“read_only=1”只读模式开启的解锁命令为设定“read_only=0”;设定全局锁“flush tables with read lock;”,对应的解锁模式命令为:“unlock tables;”.
 
      当然设定了read_only=1后,所有的select查询操作都是可以正常进行的。

mysql salve从库设置read only 属性相关推荐

  1. mysql 从库 read only_mysql salve从库设置read only 属性

    在MySQL数据库中,在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-slave的设置和关系. 经过实际测试,对于MySQL单实例数据库和master库,如果需要设置为只读状态, ...

  2. mysql 从库 read-only_mysql salve从库设置read only 属性

    经过实际测试,对于MySQL单实例数据库和master库,如果需要设置为只读状态,需要进行如下操作和设置: 将MySQL设置为只读状态的命令: # mysql -uroot -p mysql> ...

  3. 给mysql salve从库复制授权_MySQL主从复制

    MySQL主从复制 引入 MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MySQL数据库支持单向.双向 ...

  4. 给mysql salve从库复制授权_MySQL主从复制 - osc_h8z06jiq的个人空间 - OSCHINA - 中文开源技术交流社区...

    MySQL主从复制 引入 MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MySQL数据库支持单向.双向 ...

  5. Mysql复制-Slave库设置复制延迟

    mysql> stop slave; mysql> change master to master_delay=10;#单位是秒 mysql> start slave; mysql& ...

  6. golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法

    golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法,查询中报了以下这个错 Scan error on column index 2: ...

  7. 树莓派4B配置Selenium库+设置无图无头属性

    写一个树莓派4B配置selenium库,并成功调用浏览器进行自动化爬虫 本文会手把手教你配置环境,并带你写第一个selenium爬虫程序 使用版本说明 系统:官网2020-02-13-raspbian ...

  8. Python爬虫配置Selenium库+设置无图无头属性

    出一个最新windows下配置selenium全环境的教程~ 本文会手把手教你配置环境,并带你写第一个selenium爬虫程序 环境配置 1.安装Selenium库 Python和Anaconda-P ...

  9. MySQL数据库端字符集设置

    最近,在项目组使用的mysql数据库中,插入数据出现乱码,关于这个问题做了下总结,我们从最基本的地方说起,到错误产生的深层次原因和解决办法. 基本概念 • 字符(Character)是指人类语言中最小 ...

  10. MYSQL数据库字符编码设置

    mysql字符集编码设置与查看命令 转自http://www.111cn.net/database/mysql/55781.htm 在mysql对字符编码的查看我们使用SHOW VARIABLES L ...

最新文章

  1. vuejs学习笔记(1)--属性,事件绑定,ajax
  2. 里海水位上升的原因_汽轮机真空下降的原因及处理
  3. serum血清序列号_图文教程 将serum血清预制导入你的serum
  4. linux kernel中的进程栈
  5. 傅里叶变换的初级理解二
  6. 二叉树的先序、中序、后序遍历等基本操作c++实现
  7. 【机器学习】标准化和归一化辨析
  8. 关于PCB板设计中电阻电容等封装的选择
  9. Oracle 11g 下载安装
  10. wow工程修理机器人图纸_wow修理机器人74a型介绍及图纸怎么得
  11. 洛谷 P4654 [CEOI2017] Mousetrap 题解
  12. iOS活体人脸识别的Demo和一些思路
  13. python基础 class6(基本统计值计算、文本词频统计)
  14. .NET MVC同页面显示从不同数据库(mssql、mysql)的数据
  15. 2021-2-18:请你说说MySQL的字符集与排序规则对开发有哪些影响?
  16. 13部成功预知未来科技的科幻电影
  17. Weighted Interval Scheduling VS Interval Scheduling
  18. 深入浅出Qt数据库编程:从基本操作到高级技巧
  19. KRKR基础篇(一)
  20. 瑞金医院计算机中心副主任朱立峰:从数字化医院到认知医疗

热门文章

  1. html图片自动旋转
  2. 用JavaScript实现元素自动旋转功能
  3. 数据库安全:Oracle数据库防火墙技术
  4. Python 愤怒的小鸟代码实现:物理引擎pymunk使用
  5. 九、JavaScript网页特效 - 章节课后练习题及答案
  6. 2019年肖秀荣命题人精讲精练
  7. 基于机器学习的视频防抖处理
  8. C# WPF新版开源控件库:Newbeecoder.UI
  9. Ajax——AJAX实现省市联动
  10. Unix/Linux存在之必然性