• MySQL阅读笔记——2.启动项和系统变量


      启动项是mysql服务启动时传递过去的一些参数(可以通过命令行也可以通过配置文件),系统变量是影响服务器运行行为的变量

    1.命令行指定配置项

      只在首次启动生效

      长参数使用 ”--下划线分割单词“ 的形式

      短参数使用“-字母”的形式,且参数区分大小写

    2.配置文件指定配置项

      Linux环境下,按照下列顺序寻找配置文件:

    路径名备注
    /etc/my.cnf  
    /etc/mysql/my.cnf  
    SYSCONFDIR/my.cnf  
    $MYSQL_HOME/my.cnf 特定于服务器的选项(仅限服务器)
    defaults-extra-file 命令行指定的额外配置文件路径
    ~/.my.cnf 用户特定选项
    ~/.mylogin.cnf 用户特定的登录路径选项(仅限客户端)

    SYSCONFDIR表示在使用CMake构建MySQL时使用SYSCONFDIR选项指定的目录。默认情况下,这是位于编译安装目录下的etc目录。

    也可以在启动MySQL时通过 ”--defaults-file“指定配置文件路径,如果配置文件不存在或者无法访问则会发生错误

    3.配置文件具体内容

    配置文件启动项划分为多个组

    [server] (具体的启动选项...)

    option = value

    ......

    [mysqld] (具体的启动选项...)

    option = value

    ......

    [mysqld_safe] (具体的启动选项...)

    option = value

    ......

    [client] (具体的启动选项...)

    option = value

    ......

    [mysql] (具体的启动选项...)

    option = value

    ......

    [mysqladmin] (具体的启动选项...)

    option = value

    ......

      [server]组下边的启动选项将作用于所有的服务器程序。

      [client]组下边的启动选项将作用于所有的客户端程序。

    启动命令类别能读取的组
    mysqld 启动服务器 [mysqld][server]
    mysqld_safe 启动服务器 [mysqld][server][mysqld_safe]
    mysql.server 启动服务器 [mysqld][server][mysql.server]
    mysql 启动客户端 [mysql][client]
    mysqladmin 启动客户端 [mysqladmin][client]
    mysqldump 启动客户端 [mysqldump][client]

    命令行参数的优先级>配置文件参数

    系统变量

    1. 查看系统变量

      show [global] variables like '%[系统变量名]%';

    该sql默认查询当前session系统变量,通过global指定查询global变量

    1. 修改统变量

      set [global] 系统变量名=系统变量值;
    1. 查看状态变量(状态变量维护当前运行中的mysql的状态 )

        show [golbal] status like '%[状态变量名]%';

    编码

      ASCII:128字符,占1个字节

      IOS 8859-1:256字符,占1个字节,别名latin1

      GB2312:收录汉字,如果是ASCII字符集,占1字节否则占2字节。扩充后改为GBK

      utf8:占1~4字节变长编码

    mysql中utf8默认时utf8mb3阉割版的utf8,只使用1~3字节,完整版utf8需要指定utf8mb4

    编码比较规则

      字符集_语言地区_后缀,后缀是该规则是否区分重音、大小写等

    后缀英文释义描述
    _ai accent insensitive 不区分重音
    _as accent sensitive 区分重音
    _ci case insensitive 不区分大小写
    _cs case sensitive 区分大小写
    _bin binary 以二进制方式比较

      MySQL中可以分别在服务器级别、数据库级别、 表级别、列级别设置字符集和比较规则

    MySQL中字符集转换设计三个系统变量character_set_client、character_set_connection、character_set_results。请求岛到MySQL服务器先根据character_set_client解码得到字符串,然后按照character_set_connection编码得到字节串,然后根据字节串去表中查询,得到结果根据character_set_results编码返回给客户端

    通常将character_set_client、character_set_connection、character_set_results三个系统变量设置成相同的值

  • 相关阅读:
    您认为做好测试用例设计工作的关键是什么?
    系统测试的策略
    在C/C++中static有什么用途?
    BUG管理工具的跟踪过程
    详细的描述一个测试活动完整的过程。
    输出一个整数的每一位,如:123的每一位是1 , 2 , 3
    编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序
    获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列
    求一个整数,在内存当中存储时,二进制1的个数。
    求两个正整数的最大公约数
  • 原文地址:https://www.cnblogs.com/leon618/p/13783231.html
Copyright © 2020-2023  润新知