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

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

大家好,又见面了,我是全栈君。

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里保存。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108330.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Silverlight传值「建议收藏」

    Silverlight传值「建议收藏」Silverlight页面之间传值的。主要是使用独立存储的IsolatedStorageSettings对象,首先需要创建对象privateIsolatedStorageSettingsappSettings=IsolatedStorageSettings.Applic

    2022年10月18日
    4
  • java并发编程实战_java解决并发问题

    java并发编程实战_java解决并发问题Executors  在Java5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java5中引入的,其内部使用了线程池机制,它在java.util.cocurrent包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好…

    2025年10月24日
    5
  • vue子组件调用父组件父页面的方法「建议收藏」

    vue子组件调用父组件父页面的方法「建议收藏」如图:选择城市后,页面重新请求数据!(城市选择是子组件)选择完后不刷新页面,重新调用接口渲染主页面!第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法父组件<template><div><child></child></div></template&gt…

    2022年10月2日
    5
  • 【网络流24题】-题表

    【网络流24题】-题表最近都不知道自己在干什么==2016-11-0808:37:35转载于:https://www.cnblogs.com/Konjakmoyu/p/6041412.html

    2022年5月24日
    38
  • css实现二级菜单_一二级菜单

    css实现二级菜单_一二级菜单CSS中hover出现二级菜单

    2022年4月22日
    180
  • request.getParameter();的意思[通俗易懂]

    request.getParameter();的意思[通俗易懂]对于httprequrest的request.getParameter()的作用,之前我只是在用它而不知道它到底有什么作用,今天看了一遍文章突然明白了其中的意思。  大致的内容如下:这个form提交请求后,在你的action中Stringname=request.getparameter(“name”);那么name的值就是“哈哈”  它是一种取参数的方法。

    2025年7月5日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号