如何查询、修改参数状态值

Q:何为“数据库”?

A:

  也就是说数据库实例,“数据库” = 数据库软件 + 数据库:存于磁盘中

1、数据库里面存表:放置在datadir目录下

mysql> show variables like ‘datadir‘;
+---------------+----------+
| Variable_name | Value    |
+---------------+----------+
| datadir       | /mydata/ |
+---------------+----------+

2、软件是用来管理数据库的:放置在basedir目录下

mysql> show variables like ‘basedir‘;
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| basedir       | /usr/local/mysql |
+---------------+------------------+

3、数据库工作原理概述

  用户连接到数据库里,对数据库进行操作,将磁盘里数据库中的数据读取到内存中(物理读),内存中的数据被用户读取(内存读),内存读的速度(基本可忽略)是物理读的速度的好几万倍。

  数据库之所以快的原因是,数据库有一个大的内存作为缓存,少了对磁盘文件的读取,也就将速度降下来了。

  MySQL启动之后,先会在内存里分配一小块空间作为用户工作空间,够用即可;随着用户对数据库的使用,空间逐渐扩张,最大到innodb_buffer_pool_size 的数值大小(该空间大小至少可占物理内存的一半以上,一般设置为服务器物理内存的70%)。

那么问题来了,如何对MySQL数据库中的参数、状态值进行查询、修改呢?

1、参数状态值的查询与修改

  在官方文档的Server Option / Variable Reference部分,进行参考查看MySQL的参数变量以及状态值

  1、cmd-line表示能否在mysql安全启动(mysqld_safe)的命令行中进行参数设置 --var_name=……

  2、option file表示能否在mysql的参数文件(my.cnf)中进行参数设置

  3、system var表示是否是系统变量@@:全局、会话

  4、status var表示是否是状态变量

  5、var scope表示变量的范围:全局global、会话session、both表示既可以是作为全局级别的,也可以作为会话级别的

  6、dynamic表示是否是动态参数,yes是动态,no是静态,varies是根据数据库版本而定

2、使用官方文档来参考MySQL的变量参数、状态参数:

  1、名字

  2、作用

  3、修改值的范围

  4、单位

  5、是否需要重启

  6、默认值的大小

  7、作用域

注意:

  如果是全局系统变量的修改的话,最好是在mysql> set @@global.var_name=…; 修改完后,将global.var_name=…变量的修改同时写入参数文件中,也就是MySQL的配置文件my.cnf里保存。

时间: 2024-07-28 13:37:28

如何查询、修改参数状态值的相关文章

jdbc查询sybase参数过多问题

公司的数据库一直是sybase,用起来也挺好的,最新客户现场出现一个问题,数据无法传输了,看日志非常简单,一下就定位到了原因. 很简单,参数超过了2000个,因为这个功能是根据主表的主键查询子表,方法用的是where 主表id in (?,?,?,?--)方式,参数问号最多是是2000个,不过这就奇怪了,直接使用sql查询sybase,5000个参数也没问题,看来是jdbc驱动的问题了. 我们公司用sybase也有十多年了,这方面还是很有研究的,请教了几个人,jdbc连接sybase的驱动之前用

hi3531 SDK 编译 kernel, 修改 参数 .

开发环境用户指南上这么写的 3.1 内核源代码 成功安装Hi3531 SDK后,内核源代码已存放于SDK目录下的osdrv/目录中,用户可 直接进入目录进行相关操作. 3.2 配置内核 如果对内核和Hi3531平台没有足够了解,请勿修改默认配置.但可增加需要的模块. 配置内核的操作步骤如下: 1.  手动拷贝.config 文件: hisilicon$cd os/linux-3.0.y hisilicon$cp arch/arm/configs/godnet_defconfig .config/

c#获取url中的查询字符串参数

/// <summary> /// 获取url中的查询字符串参数 /// </summary> public static NameValueCollection ExtractQueryParams(string url) { int startIndex = url.IndexOf("?"); NameValueCollection values = new NameValueCollection(); if (startIndex <= 0) ret

location对象查询字符串参数

虽然location.search可以返回从问号到URL末尾的所有内容,但却没有办法逐个访问其中的每个查询字符串参数.为此,可以创建下面这样一个函数,用以解析查询字符串,然后返回包含所有参数的一个对象: 1 function getQueryStringArgs(){ 2 //取得查询字符串并去掉开头的问号 3 var qs = (location.search.length > 0 ? location.search.substring(1) : ""); 4 //保存数据的对

c语言: 修改参数的地址,及注意事项

如果需要在函数中修改参数的地址,首先参数肯定要是指针类型,同时传递的参数不能直接使用数组变量,至少需要先转换一下. 比如: char str[] = "123"; 不能直接传 abc(&str); 至少要: char *p = str; abc(&p); 2014-07-14

bboss持久层设置数据库查询fetchsize参数方法

jdbc驱动程序api提供了指定了查询语句fetchsize的方法,有些数据库(比如oracle)本身提供了fetchsize的默认值,这样进行大量数据查询时,不会因为返回的结果集太大导致jvm爆掉,有些数据库可能没有默认设置fetchsize,因此需要手动指定.bboss持久层设置数据库查询fetchsize参数方法很简单,只要在poolman.xml文件的datasource中指定一个queryfetchsize参数即可,如果不指定就采用数据库驱动提供的默认值. 设置queryfetchsi

js获取url查询字符串参数

最近看js高级程序设计 对其中查询字符串参数的获得重新写了,当传递一个完整的URL的时候对查询字符串的提取 function getQueryArgs(){ var qs = (location.search.length > 0 ? location.search.substr(1) : ''), //保存每一项 args = {}, //得到每一项 items = qs.length ? qs.split('&') : [], item = null, name = null, valu

[20190523]修改参数后一些细节注意2.txt

--//上午想模拟链接遇到的情况,链接http://blog.itpub.net/267265/viewspace-2645262/--//就是修改参数后没有退出oracle参数导致修改参数无效的情况,可是在我的测试环境根本无法模拟出来,只好找另外1台从来没有配置--//hugepages的机器说明问题.--//但是我的测试环境问题到底在哪里呢?最终确定问题在哪里,做一个记录: 1.环境:# cat /proc/versionLinux version 2.6.39-300.26.1.el5ue

yii2.0数据库查询修改等方法

yii2.0学习有一段时间了,给大家分享一下一些简单的查询等如何操作. 查询:(这里最前面的Test是引用的模型名) Test::find()->all();    此方法返回所有数据: 这些查询出来是对象形式,但是一般转换成数组格式: Test::find()->asArray()->all();     加上asArray()就取得数组形式的数据了,下面的自行添加. Test::findOne($id);   此方法返回 主键 id=1  的一条数据(举个例子): 条件查询:wher