首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从零开始学mysql - 系统参数和配置

全局变量和会话变量设置 查看系统变量的范围 查看系统变量 设置系统变量 运行时的系统变量 系统变量的注意事项 启动选项和系统变量的区别 状态变量的补充 命令行命格式 单划线和双划线命令格式 命令行命令就是我们通常连接...,比如我们需要改为InnoDB引擎在使用命令的时候加上--default-storage-engine=InnoDB选项,最后只要在任意的数据库下创建一张表,在末尾可以发现表的的存储引擎变了,当然默认的存储引擎看不到效果...根据上面的描述,我们可以看到系统变量运行时候的配置出现的下面两个问题: 连接时的系统变量配置 公有参数的私有化问题 为了解决这两个问题,mysql设计了“作用范围”的方式来区分运行时的系统变量和全局的系统变量...启动选项和系统变量的区别 启动选项可以看作是我们启动变量的时候使用--(双划线)或者-(单划线)进行设置的系统变量启动参数,并且大部分的系统变量都是可以使用系统变量参数进行设置的,所以对于系统变量和启动选项有如下的区别...# performance_schema = ON # for MariaDB 10 releases performance_schema_consumer_events_statements_history_long

1.9K20

MySQL存储文件组成和常见相关问题

# performance_schema系统库目录 | | |-- cond_instances.frm | | |-- db.opt | | |--...: InnoDB的事务日志,又称Redo log - aria_log*: aria存储引擎的控制文件和日志 - mysql/: mysql系统库的存储目录 - performance_schema.../: performance_schema系统库的存储目录 - test/: test库的存储目录 每个库目录下存储每张表的数据和索引、表定义、数据库选项定义。...整个数据库存储占用空间除了业务库目录文件大小外,还需要加上binlog、error log、redo log和系统自带库表和innodb共享表空间等占用大小。...内部临时表的创建条件: - group by 和 order by中的列不相同 - order by列不是引用from表列表中的第一个表(驱动表) - group by列不是引用from表列表中的第一个表

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

    Mysql配置文件的理解

    0时表示关闭,1时表示打开,2表示只要select 中明确指 定SQL_CACHE才缓存 query_cache_size=0 # 查询缓存的大小 #query_cache_min_res_unit...如果未指定, 默认值为tmpdir变量的值 #slave_parallel_threads=0 # for mariadb10 #******network slave_compressed_protocol...设置为0还强制使用DETERMINISTIC特性或READS SQL DATA或NO SQL特性声明函数的限制。 如果变量设置为1,MySQL不会对创建存储函数实施这些限制。...read_rnd_buffer_size=8m #for mariadb MySQL的随机读缓冲区大小,当按任意顺序读取行时(列如按照排序顺序)将分配一个随机读取缓冲区,进行排序查询时,MySQL会首先扫描一遍该缓冲...并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。

    6.8K30

    Mysql配置文件的理解

    0时表示关闭,1时表示打开,2表示只要select 中明确指 定SQL_CACHE才缓存 query_cache_size=0 # 查询缓存的大小 #query_cache_min_res_unit...如果未指定, 默认值为tmpdir变量的值 #slave_parallel_threads=0 # for mariadb10 #******network slave_compressed_protocol...设置为0还强制使用DETERMINISTIC特性或READS SQL DATA或NO SQL特性声明函数的限制。 如果变量设置为1,MySQL不会对创建存储函数实施这些限制。...read_rnd_buffer_size=8m #for mariadb MySQL的随机读缓冲区大小,当按任意顺序读取行时(列如按照排序顺序)将分配一个随机读取缓冲区,进行排序查询时,MySQL会首先扫描一遍该缓冲...并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。

    8.4K40

    MariaDBMySQL中的变量

    在MySQL/MariaDB中有好几种变量类型:用户自定义变量、系统变量、一般的临时变量(即本地变量,或称为局部变量)。...10.2.6中,引入了一张系统架构表information_schema.USER_VARIABLES,该表中记录了当前用户当前会话定义的用户变量信息。...在MySQL/mariadb中维护两种系统变量:全局系统变量和会话系统变量。...或者使用select...into语句从表中获取值来赋值给变量,但是这样的赋值行为要求表的返回结果必须是单列且单行的标量结果。例如下面的语句将col的列值赋值给var_name变量。...但在mariadb中,begin...end是允许定义在存储程序(存储函数,存储过程,触发器,事件)之外的,所以decalre也算是能够定义在存储程序之外吧。

    2.3K10

    mariadb的一些特性(

    最近在看看MariaDB的官网上介绍MariaDB的功能和特性,大致罗列了本人觉得有必要了解下的几个地方: 支持到列级别的压缩 CREATE TABLE `cmp2` ( `id` bigint(20)...https://mariadb.com/kb/en/library/create-sequence/ Semisync 内置到server中,不再需要install plugin方式安装插件 mysql...通过 idle_transaction_timeout,idle_readonly_transaction_timeout 和 idle_write_transaction_timeout 系统变量,...Only if you run the server with the setting innodb_undo_logs=1  this would not be a problem....当事件具有不可忽略的大小时,压缩将产生最大的影响,因为每个事件都是单独压缩的。例如,插入许多行或大值的批处理INSERT语句,或者在一个查询中触及多个行的基于行的事件。

    1.3K20

    MariaDB 表的基本操作

    在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位,数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的、每一行代表一条唯一的记录,每一列代表记录中的一个域.创建数据表在创建完数据库之后...,它可以是一列或者多列.一个表可以有一个或多个外键,外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值.外键:首先它是表中的一个字段,它可以不是本表的主键... 主键列1 [,主键列2,....]实例: 创建一个tb_dept指定为主表,把tb_emp指定为从表,将两表指定字段相关联.1.首先创建一个部门表tb_dept,表结构如下所示.字段名称数据类型备注...◆存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现,可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎.MySQL中主要存储引擎有:MyISAM、InnoDB、...MEMORY、BDB、FEDERATED等.可以使用show engines语句查看系统支持的存储引擎.如下表是MySQL所支持的存储引擎.引擎名称是否支持FEDERATED否MRG_MYISAM是MyISAM

    1.4K20

    关于Linux下MySql集群(主从一主多从主从从)同步部署的一些笔记

    备份 对于备份来说,复制是一项很有意义的技术补充,但复制既不是备份也不能够取代 高可用性和故障切换 复制能够帮助应用程序避免MySQL单点失败,一个包含复制的设计良好的故障切换系统能够显著地缩短宕机时间...在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志中。MySQL会按事务提交的顺序而非每条语句的执行顺序来记录二进制日志。在记录二进制日志后,主库会告诉存储引擎可以提交事务了。...备库的SQL线程执行最后一步,该线程从中继日志中读取事件并在备库执行,从而实现备库数据的更新。当SQL线程追赶上I/O线程时,中继日志通常已经在系统缓存中,所以中继日志的开销很低。...从服务器中的 SQL thread(SQL 线程)读取中继日志中的 SQL 命令,并将其写入到 Slave 的数据库中; 主从同步结构模式 主从的复制的结果模式设置需要注意几点: 一个MySQL备库实例只能有一个主库...指定不用日期时间作为存储数据的子目录名称 #--slave-info 指备份数据时,记录sql命令的偏移量和binlog日志文件名,便于从服务器去读取 ┌──[root@vms153.liruilongs.github.io

    2K10

    CentOS 7下搭建百万PV网站架构详述

    ,从服务器要定义不同的名称好加以区分 } vrrp_instance VI_1 {     state MASTER              #将主服务器的角色定为MASTER,从服务器为BACKUP...jdk1.8.0_144/ /usr/local/java mv apache-tomcat-8.5.23/ /usr/local/tomcat8    #为了方便使用jdk与Tomcat,我将它们重命名到系统目录下...数据库来代替MySQL数据库,这两个数据库的功能相同,而且mariadb的配置更加简单 yum install mariadb-server mariadb -y systemctl enable mariadb.service...在从服务器上需要在配置文件中多加如下这句话,将地址指向主服务器 systemctl start redis.service            #开启从服务器的Redis redis-cli...,information_schema character_set_server=utf8 log_bin=mysql_bin server_id=1 log_slave_updates=true sync_binlog

    68120

    MySQL层相关优化

    另一个重要的分支版本是MariaDB,说MariaDB是分支版本其实已经不太合适了,因为它的目标是取代ORACLE MySQL。...,可考虑设置为物理内存的50% ~ 70%左右; 4、根据实际需要设置innodb_flush_log_at_trx_commit、sync_binlog的值。...4、读取数据时,只选取所需要的列,不要每次都SELECT *,避免产生严重的随机读问题,尤其是读到一些TEXT/BLOB列; 5、对一个VARCHAR(N)列创建索引时,通常取其50%(甚至更小)左右长度创建前缀索引就足以满足...(注意,这里是指过滤后的结果集,不一定是全表数据量小的)作为驱动表; 9、多表联接并且有排序时,排序字段必须是驱动表里的,否则排序列无法用到索引; 10、多用复合索引,少用多个独立索引,尤其是一些基数(...也可实现该功能; 7、使用pt-online-schema-change来完成大表的ONLINE DDL需求; 8、定期使用pt-table-checksum、pt-table-sync来检查并修复mysql

    95280

    mysql 5.7主从安装和配置

    # sync_binlog=n, 当每进行n次事务提交之后, MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘 # MySQL中系统默认的设置是sync_binlog...因为当设置为1的时候, 即使系统Crash, 也最多丢失binlog_cache中未完成的一个事务, 对实际数据没有任何实质性影响. # 从以往经验和相关测试来看, 对于高并发事务的系统来说, "sync_binlog...# sync_binlog=n, 当每进行n次事务提交之后, MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘 # MySQL中系统默认的设置是sync_binlog...# sync_binlog=n, 当每进行n次事务提交之后, MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘 # MySQL中系统默认的设置是sync_binlog...# sync_binlog=n, 当每进行n次事务提交之后, MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘 # MySQL中系统默认的设置是sync_binlog

    1.9K40

    MySQL之父解读数据库最新亮点

    所以当主(指的MariaDB的主) 改变后,备不用做什么也能直接读到信息。 你可以任何时间在MariaDB上加server。...如果你使用的是NVDIMM持久性存储,我们针对这一存储做了优化,使用户能够直接把数据写入持久性存储来分摊文件系统的开销。...这一点使mariadb一些性能显著提高了,基本上sync到日志文件的开销降到了0。mariadb会时刻保持更新,和最新的硬件兼容。...我们收到的关于10.4的抱怨之一,是我们的新特性都是基于mysql 5.7 performance shcema,现在mariadb对此作了修复,因此performance_schema表可以提供更多mariadb...列存引擎在10.5中发生了很大的变化,我没有在这一页中添加过多的内容,因为列存这个话题可以作为一个完整的话题来分享。有趣的是,列存引擎中,每一列都作为单独的二进制表单独存储。

    1.2K20

    MariaDBMySQL存储过程和函数学习心得

    1.创建存储过程、函数 在MySQL/MariaDB中创建存储过程、函数的语法如下:其中OR REPLACE是MariaDB 10.1.3版本中才有的,MySQL中不支持OR REPLACE。...OUT参数类型是指存储过程将某个值通过该参数返回给调用者。因此调用者必须传递一个用户变量给存储过程,用来记录存储过程OUT参数的值。...因此,调用者传递INOUT参数时,也必须传递一个用户变量。但与OUT不同的是,INOUT的用户变量有初始值,这个初始值会直接应用在存储过程中。...从information_schema.routines中查看存储过程和函数的信息,这个比show status更详细一点。...第二列是mariadb要执行的动作,这些动作是基于存储过程中的源语句进行设置的。

    93530

    Oracle 20c新特性:从多个现有数据库创建分片数据库(联合分片)

    此方法的以下好处: 使用现有的地理分布数据库创建分片环境,无需置备新的系统 运行多分片查询,在单个查询中从多个位置访问数据 在联合分片配置中,Oracle Sharding将每个独立数据库视为一个分片,...例如,一个表在一个数据库中可以有一个额外的列。 应用程序升级可以触发架构中的更改,例如,当添加新表、新列、新检查约束或修改列数据类型时。...运行 GDSCTL SYNC SCHEMA 来比较联合分片配置中的架构,并检索公用的共享架构。使用 SYNC SCHEMA 检查和应用DDL。...sync schema -schema schemalist –retrieve_only 在不使用 -retrieve_only 的情况下运行 SYNC SCHEMA 时,将同时检索和应用DDL...sync schema –show -ddl ddlnum -count n 或者,您可以使用 -failed_only 选项仅检查错误的语句。

    1.5K30

    MySQL 存储过程与函数(精简笔记)

    存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别是:CREATE PROCEDURE和CREATE FUNCTION.使用CALL语句来调用存储过程,只能用输出变量返回值.函数可以从语句外调用...]> delimiter ; 当我们想要调用上面的存储过程是,需要指定一个变量名来接收返回结果,此处指定为temp....------+ 1 row in set (0.00 sec) 创建存储函数 存储函数的使用方法与MySQL内部函数的使用方法是一样的,在MySQL中,用户自己定义的存储函数与MySQL内部函数是一个性质的...声明使用变量 变量可以在子程序中声明并使用,这些变量的作用范围实在BEGIN...END程序中,本小姐将介绍定义和赋值一个变量,定义变量的语句如下: DECLARE var_name[,varname]...用户可以使用SHOW STATUS语句或SHOW CREATE语句来查看存储过程和函数,也可以直接从系统的information_schema数据库中查询 show status查看存储过程: MariaDB

    2K10

    Proxy实现mysql读写分离

    中的用户 5.2 admin-stats_credentials admin-stats_credentials 变量控制admin管理接口的普通用户,这个变量中的用户没有超级管理员权限,只能查看monitor...多层配置系统 ProxySQL 的配置系统非常强大,它能在线修改几乎所有配置(仅有的两个需要重启才能生效的变量为 mysql-threads 和 mysql-stacksize ),并在线生效、持久化保存...这得益于它采用的多层配置系统。...,其所对应的表的内容有以下讲究: (1)中包含两类变量,以amdin-开头的表示admin variables,以mysql-开头的表示mysql variables。...: NULL # 用户默认登录后端mysql实例时连接的数据库,这个地方为NULL的话,则由全局变量mysql-default_schema决定,默认是information_schema

    2.2K20

    004.Heartbeat+HAProxy+MySQL半复制高可用架构

    1 MariaDB [(none)]> select * from information_schema.plugins where plugin_name like '%semi%'\G #查看加载情况...=rpl_semi_sync_master=semisync_master.so 7 rpl_semi_sync_master_enabled=1 8 9 read-only #设为只读模式...#\#read-only#' /etc/my.cnf 提示:对于CentOS7.X系统。...,若有相应资源需要启动可复制至此目录,然后会从/etc/init.d/目录下找同名(即MariaDB)运行,由于本架构采用CentOS7.X系统,需要将已编辑完成的mariadb启动脚本(见附件)上传至...附录一:半同步复制概念 异步复制(Asynchronous replication):MySQL默认的复制机制,指主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不确保从库是否已经接收并处理。

    92520
    领券