首页
学习
活动
专区
圈层
工具
发布

MySQL设置数据库为只读

前言: 默认情况下,我们的 MySQL 实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下 MySQL 设置只读相关知识。...,开启后会阻止没有 super 权限的用户执行数据库变更操作。...super_read_only 参数同样默认关闭,开启后不仅会阻止普通用户,也会阻止具有 super 权限的用户对数据库进行变更操作。...执行此命令会给数据库加全局读锁,使得数据库处于只读状态,以下语句会被阻塞:数据更新语句(增删改)、数据定义语句(建表、修改表结构等)和更新类事务的提交语句。...总结: 本篇文章主要介绍了 MySQL 只读状态相关知识,其实除了从库外,其余实例很少设置全局只读,只是遇到某种需求的情况下需要将数据库设为只读状态,写本篇文章的目的也是遇到此类需求时,可以有个参考。

10.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql:MySQL数据库修改用户权限(远程访问权限、操作权限)

    有时候我们需要远程操作数据库,但是MySQL-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问。...所以,我们必须先 修改root可以远程访问的权限 1.通过cmd连接进入数据库 命令输入:mysql -u root -p 输入密码登录数据库 命令输入:use mysql; 2.通过查询用户表...’ ; 这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址(将’%‘改为’你的主机IP’) (2)刷新数据库 命令输入:flush privileges; 这句表示从...mysql数据库的grant表中重新加载权限数据 因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。...” and host="%" ; 禁止root用户在远程机器上访问mysql 输入命令:flush privileges; 修改权限之后,刷新MySQL相关表生效,发现root没有了远程访问的权限 现在通过远程连接发现无法访问

    9.5K22

    MySQL 数据库设置远程权限

    设置访问单个数据库权限 设置用户名为 root,密码为空,可以访问数据库 test mysql>grant all privileges on test.* to 'root'@'%'; 设置访问全部数据库权限...设置用户名为 root,密码为空,可以访问所有数据库 mysql>grant all privileges on *.* to 'root'@'%'; 设置指定用户名访问权限 指定用户名为 liuhui...,密码为空,可以访问所有数据库 mysql>grant all privileges on *.* to 'liuhui'@'%'; 设置密码访问权限 设置用户名为 liuhui,密码为 liuhui,...可以访问所有数据库 mysql>grant all privileges on *.* to 'liuhui'@'%' IDENTIFIED BY 'liuhui'; 设置指定可访问主机权限 设置用户名为...liuhui,密码为 liuhui,可以访问所有数据库,只有 10.1.1.1 这台机器有权限访问 mysql>grant all privileges on *.* to 'liuhui'@'10.1.1.1

    10.5K20

    打开MySQL数据库远程访问权限

    在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户没有远程访问的权限。下面介绍两种方法,解决这一问题。...这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -...p mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from...user; 2、授权法 在安装mysql的机器上运行: mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器 mysql>GRANT ALL...PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION //赋予任何主机访问数据的权限 例如,你想myuser使用mypassword从任何主机连接到mysql

    14.5K40

    新特性解读 | MySQL 8.0 支持对单个数据库设置只读

    1新特性概要 对单个数据库设置只读状态,可以通过 ALTER DATABASE 语句中的 READ ONLY 选项来实现,该选项在 MySQL 8.0.22 版本[1] 中引入,用于控制是否允许对数据库及其对象...2使用方法 以设置数据库 lfq 为只读状态举例,可以观测到修改数据库只读状态对已建立连接的用户是立即生效的(即:session1 修改 lfq 数据库为只读,session2 中 lfq 的只读状态是立即生效的...) #session1,再次查一下数据库的只读状态,OPTIONS值为“READ ONLY=1”,数据库只读状态修改成功 MySQL localhost:3000 ssl SQL > SELECT...#session2,查询数据库只读状态,数据库为只读状态,session1修改lfq数据库为只读,session2中lfq的只读状态是立即生效的 MySQL localhost:3000 ssl...备份只读数据库,通过备份文件恢复出来的数据库不是只读的,如果恢复后需要只读,则需要手动执行 ALTER DATABASE 语句设置数据库为只读。

    1.4K10

    MySQL数据库远程访问权限如何打开?

    我们在使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。 缺省状态下,mysql的默认用户没有远程访问的权限。 下面给大家介绍两种方法,解决这一问题。...1.1 方案1:改表法 由于账号默认没有远程访问权限,所以首先登录本地电脑的MySQL,更改mysql数据库里中user表里的host项。 非生产环境中,使用以上方式可以迅速解决问题。...用户登录时,首先要判断的就是这两个字段和登录密码的值,这3个字段的值同时匹配,MySQL数据库系统才允许用户登录。...1.3.6 使用REVOKE撤销权限 基本语法: mysql > REVOKE privileges (columns) ON what FROM account; 示例:删除账号test从本机查询数据库...他们是要用GRANT来删除的,如: 以上所述是大雄给大家介绍的MySQL数据库远程访问的权限如何打开的方法,希望对大家有所帮助

    18.7K10

    OTRS严重漏洞CVE-2024-23794:只读权限用户如何实现权限提升的技术分析

    OTRS严重漏洞CVE-2024-23794深度剖析:只读权限如何引发权限提升危机CVE-2024-23794 是OTRS(开放工单请求系统)中发现的一个高危漏洞,影响8.0.X、2023.X以及直至2024.4...该漏洞源于内联编辑功能中的权限分配错误,可导致仅拥有只读权限的客服人员权限提升,从而获得工单的完全访问权限。本文深入探讨了CVE-2024-23794的详细信息、技术细节、潜在影响以及推荐的缓解策略。...此缺陷允许拥有只读权限的客服人员将其权限升级,进而获取工单的完全访问权限。...示例场景:一个对某工单仅有只读权限的客服人员可以利用此漏洞获得完全访问权限。这可以通过操纵内联编辑设置并绕过预期的访问控制来实现。POST /otrs/index.pl?...影响CVE-2024-23794的潜在影响包括:权限提升:拥有只读权限的客服人员可以完全访问工单,从而执行未授权操作。数据泄露:工单系统中的敏感信息可能因此暴露。

    22410

    MySQL用户与权限管理全解析:如何精准分配数据库权限?

    MySQL用户与权限管理入门:为什么权限分配至关重要? 在数字化浪潮席卷各行各业的今天,数据库已成为企业核心资产的重要载体。...用户账户与权限系统的基本架构 MySQL通过用户账户(User Account)和权限(Privilege)系统来管理数据库访问控制。...核心权限类型解析:MySQL中的GRANT和REVOKE命令 在MySQL的权限管理体系中,权限类型可以分为三个主要层级:全局层级、数据库层级和表层级。...SELECT, INSERT, UPDATE权限,但不授予DELETE权限;为数据分析团队创建只读副本数据库,通过GRANT SELECT ON analytics....例如,为只读角色授予SELECT权限,限制在特定数据库: GRANT SELECT ON database_name.* TO 'read_only_role'; 而为读写角色添加更全面的权限: GRANT

    1.2K10

    理解:灾备和只读数据库

    主流数据容灾模式1、基于数据库逻辑复制:实时获取数据日志进行复制,异步方案,典型代表:Shareplex for Oracle、Oracle GoldenGate、MySQL 主从复制,PostgreSQL...但每种解决方案都有优缺点:容灾模式优点缺点备注数据库-逻辑复制效率高,灵活性高,数据库可用双活数据一致性不能完全保证,维护难度较高实时获取数据日志进行复制,如:MySQL 主从复制数据库-物理复制对系统环境要求高...只读数据库读写分离数据库的读写分离是一种数据库架构优化策略,将数据库的读操作和写操作分别分配到不同的服务器上,旨在提高数据库系统的性能和可扩展性。...业务场景基于腾讯云的数据库架构分析主库:业务写入流量灾备库:通过Mysql主从复制,异步进行数据同步,特殊情况下转为主库只读库:业务读出流量只读库:运营侧需求的读出流量流量容灾库的必要性区分核心业务和非核心业务...只读数据库不允许写入操作,但可以读取数据,适用于读操作远多于写操作的场景。综上所述,灾备和只读各有其独特的功能和适用场景,我们可以根据自身业务需求选择合适的数据库类型。

    1.1K00

    MySQL 权限操作

    当服务器注意到授权表被改变了时,对于现存的客户端连接有如下影响:  ♞ 表和列权限在客户端的下一次请求时生效。  ♞ 数据库权限改变在下一个 use db_name命 令生效。  ...1.2 用户管理 1.2.1 查看所有用户 # 位于 mysql 数据库 user 表中 mysql> select user as 用户名, host as 主机 from mysql.user; +...② on 用来指定权限针对哪些库和表,格式为 数据库.表名,点号前面用来指定数据库名,点号后面用来指定表名,*.* 表示所有数据库所有表。  ...③ 初始化数据库的时候删除没有密码的用户,安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。...; 正常启动 MySQL 服务  ⑦ 密码已经修改完成可以使用新密码登录root账户了 1.4.2 备份与还原 ☞ 语法 # 备份 mysqldump -u用户名 -p密码 数据库名称 > 保存的路径

    3.8K31

    MySQL权限详解

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 MySQL提供了哪些权限 MySQL提供的权限列表如图所示(其中,All或者Allprivileges代表权限列表中除Grant...按照系统权限划分 1、管理权限 用于管理MySQL服务器的操作。这些权限是全局性的,授权范围不能是特定的数据库或数据库对象(只能使用*.*方式授予,不能使用db.*或db.tb方式)。...DROPPARTITION语句,则必须要有表的Drop权限,执行TRUNCATE TABLE也需要有Drop权限(但要注意,如果将MySQL数据库的Drop权限授予用户,则该用户可以删除存储MySQL访问权限记录的数据库...mysql)。...具有File权限的用户可以读取服务器主机上的任何可读文件或MySQL服务器可读文件。

    6.6K30

    MySQL权限详解

    设置MySQL用户资源限制 通过设置全局变量max_user_connections可以限制所有用户在同一时间连接MySQL实例的数量,但此参数无法对每个用户区别对待,所以MySQL提供了对每个用户的资源限制管理...MAX_QUERIES_PER_HOUR:一个用户在一个小时内可以执行查询的次数(基本包含所有语句) MAX_UPDATES_PER_HOUR:一个用户在一个小时内可以执行修改的次数(仅包含修改数据库或表的语句...) MAX_CONNECTIONS_PER_HOUR:一个用户在一个小时内可以连接MySQL的时间 MAX_USER_CONNECTIONS:一个用户可以在同一时间连接MySQL实例的数量 从5.0.3...> CREATE USER 'wsp'@'localhost' IDENTIFIED BY 'mysql' WITH MAX_QUERIES_PER_HOUR 20 MAX_UPDATES_PER_HOUR...10 MAX_CONNECTIONS_PER_HOUR 5 MAX_USER_CONNECTIONS 2; # 取消某项资源限制既是把原先的值修改成 0 mysql> ALTER USER 'wsp'

    3.1K00

    mysql权限控制

    mysql权限控制 作为一名DBA,想必大家对MySQL中的权限都不陌生,MySQL中对于权限的控制分为三个层面: 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上...数据库对象级别的权限,作用于指定的数据库对象上(表、视图等)或 者所有的数据库对象上 这里,我们将mysql中的所有权限列出来,最后给出一个特殊的案例来反应mysql权限控制中的一个小bug。...•Drop 该权限代表允许删除数据库、表、视图的权限,包括truncate table命令 •Event 该权限代表允许查询,创建,修改,删除MySQL事件 •Execute 该权限代表允许执行存储过程和函数的权限...表: 存放列级别的权限,决定了来自哪些主机的哪些用户可 以访问数据库表的这个字段 • Procs_priv表: 存放存储过程和函数级别的权限 MySQL修改权限之后的生效方法 • 执行Grant,revoke...想到了mysql.proc表里面包含存储过程的信息,于是通过下面的方法给了mysql.proc表一个只读的权限: mysql@127.0.0.1:(none) 22:35:07>>grant select

    4K30
    领券