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

MySQL设置数据库为只读

前言: 默认情况下,我们的 MySQL 实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下 MySQL 设置只读相关知识。...read lock 也可将数据库设置为只读状态,那么二者有什么区别呢?...执行此命令会给数据库加全局读锁,使得数据库处于只读状态,以下语句会被阻塞:数据更新语句(增删改)、数据定义语句(建表、修改表结构等)和更新类事务的提交语句。...以个人数据库运维经验来讲,一般只有从库需要设置只读状态,从库端建议开启 read_only 或 super_read_only,避免人为写入。...总结: 本篇文章主要介绍了 MySQL 只读状态相关知识,其实除了从库外,其余实例很少设置全局只读,只是遇到某种需求的情况下需要将数据库设为只读状态,写本篇文章的目的也是遇到此类需求时,可以有个参考。

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

    Mysql数据库设置主从同步

    服务器配置: vim /etc/my.cnf #先看下原来的配置有没以下设置,有的话修改下就行了[mysqld]server-id=120log-bin=/var/lib/mysql/mysql-bin...mysql从服务器配置(slave) slave服务器配置: vim /etc/my.cnf [mysqld]server-id=139log-bin=/var/lib/mysql/mysql-bin...# 启用二进制日志binlog-do-db=sakzss #指定数据库,如果不指定就是全部数据库 重启服务器: service mysqld restart # centos6重启mysql 设置同步源...mysql数据库同步验证 主从数据库设置工作已经完成,可以在master新建数据库和表,插入和修改数据,查看slave是否获得同步,测试一下是否成功。...一般不成功有以下几个原因: 1.server-id 设置了一样,默认都是1,要设置不一样 2.主数据库防火墙没设置允许远程访问3306端口 3.没锁表再记录MASTER_LOG_FILE、MASTER_LOG_POS

    13.8K00

    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 ID生成器

    数据库专题(三)——Mysql ID生成器 (原创内容,转载请注明来源,谢谢) 注:本文是我对ID生成器的见解,如果有偏差欢迎指正。...在普通网站的业务场景中,可以使用数据库的自增的方式生成id,则在新增数据的时候不需要定义id,插入数据的过程中数据库自己会生成id。...但是,当网站业务量大,并发量大,如果使用数据库自增的方式,则可能会出现多个请求需要新增数据同时发送给mysql,则会发生异常。...通常时间有可能存在波动,因此第二个参数要设置成true增加ID的唯一性。...4)根据业务场景需求,可以将数据库的表设置成16个或更多,因为md5的结果是16进制的值,即0-9a-f,则可以根据首位(或末位、或中间固定的任一位),将结果插入到相应的表中,保证平均将数据插入到各表,

    3.1K80

    MongoDB主键:使用ObjectId () 设置_id字段

    在MongoDB中,_id字段是集合的主键,以便可以在集合中唯一地标识每个文档。_id字段包含唯一的Object ID 值。...默认情况下,在集合中插入文档时,如果您没有在字段名称中添加带有_id的字段名称,则MongoDB将自动添加一个Object id字段,下图所示: ?...如果要确保在创建集合时MongoDB不会创建_id字段,并且要指定自己的ID作为集合的_id,则需要在创建集合时明确定义它。 在显式创建id字段时,需要使用名称中的_id创建它。...db.Employee.insert({_ id:10,“ EmployeeName”:“ Smith”}) 代码说明: 1....结果显示表明,我们在创建集合时定义的_id字段现在作为集合的主键。 译者:徐杨 MongoDB中文社区翻译志愿者,资深程序员。

    6.5K20

    设置MySQL数据库不区分大小写

    这个时候怎么办呢,显然改程序是不行的,时间上也不允许,所以只能设置MySQL数据库不区分大小写了,大家看以下步骤: 1、查询MySQL是否设置了区分大小写 show variables like "%case...然后重启MySQL环境即可。...二 其他环境下 如果上面设置的不行,可以试试以下路径: echo "lower_case_table_names=1" >> /etc/mysql/mysql.conf.d/mysqld.cnf 即寻找...更改设置之后的效果: ? 已经不区分大小写了: ?...拓展知识 MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的

    20.1K21

    wordpress远程连接mysql数据库方法及设置

    其实wordpress远程连接mysql数据库的方法很简单,不过前提是必须开启服务器的远程mysql的远程访问(在你需要做远程数据库的服务器上设置),然后再修改一下WordPress里面的wp-config.php...那么你可以在CP面板那里找到远程MySQL菜单,进入后把你允许远程连接的IP地址添加上(即本地网站IP地址),然后返回新建数据库和用户账号,把用户账号添加进数据库,设置账号权限即完成mysql远程登录的开启...不过建议不要把那么重要的root给设置成所有主机都可以登录吧. 2、授权法 说白了,这个方法就是新建一个用户,然后给这个用户授权,具体操作如下.首先当然需要用root登录mysql数据库. mysql>...的本地设置,打开wp-config.php文件,修改里面的有关MySql的连接字段值: /** WordPress 数据库的名称 */ define(‘DB_NAME’, ‘你的远程数据库的名称’);...Mysql数据库了。

    8.6K20

    数据库实战:揭秘MySQL中WHERE id=123的索引失效之谜

    经过层层排查,最终发现元凶竟是这个看似普通的等号查询——数字类型的order_id字段与字符串格式的查询值发生了隐式类型转换。...一、原理剖析:隐式转换如何肢解你的索引1.1 MySQL的类型转换规则当比较字符与数字类型时,MySQL会按照以下规则处理:若一方为字符类型,会尝试将字符转换为数字转换规则:从左到右扫描字符串,直到遇到非数字字符停止转换示例...VARCHAR(20), INDEX idx_id(id));当执行WHERE id = '100'时:将字符串'100'转换为数字100对id字段的每个值执行相同转换导致索引字段参与计算,触发...INT, emp_no VARCHAR(10), INDEX idx_emp_id(emp_id), INDEX idx_emp_no(emp_no));-- 正确姿势:类型匹配EXPLAIN...执行计划对比查询条件typekeyrowsemp_id = 1007constidx_emp_id1emp_id = '1007'ALLNULL10000 通过EXPLAIN观察type列:const/

    73551

    MySQL数据库文件的移动和权限设置

    新型数据库层出不穷,MySQL一幅日薄西山的样子。其实还有很多人或者偏爱、或者使用以前遗留的系统,仍然生活在MySQL的世界。 我也是有很久不用了,这个很久超过十年。...因为是个用了很久的系统,所以不考虑变更数据库系统了。只是把当前数据库迁移到新的设备上,这应当是很简单的事情。按理说,数据文件大点,拷贝要时间,也超不过20分钟搞定,接下来小酒、撸串才是正理。...,免得拷贝完成再设置权限 # cp -Ra mysql /media/data/ // 老文件先不删除,保留备份防止意外 # mv mysql mysql-bak // 偷个懒,直接建一个链接,免得要修改...mysql启动脚本和设置文件 # ln -s /media/data/mysql/ . # service mysql start 回车键按下,系统提示: start: Job failed to start...* rwk, // 改的时候根据你的数据路径,调整上面4行的设置 // 此外考虑到/var/lib/mysql这个路径也可能会有测试需要,所以原始的4行保留,额外增加4行也可,不差那一点点运算 //

    10.1K20

    MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程

    创建表格 要在MySQL中创建表格,请使用"CREATE TABLE"语句。 确保在创建连接时定义了数据库的名称。...检查表格是否存在 您可以通过使用"SHOW TABLES"语句列出数据库中的所有表格来检查表格是否存在: 示例返回系统中的表格列表: import mysql.connector mydb = mysql.connector.connect...database="mydatabase" ) mycursor = mydb.cursor() mycursor.execute("ALTER TABLE customers ADD COLUMN id...获取插入的ID 您可以通过询问游标对象来获取刚刚插入的行的ID。 注意:如果插入多行,将返回最后插入行的ID。...示例插入一行,并返回ID: import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername

    2.2K20
    领券