• 八: Mysql配置文件的使用


    Mysql配置文件的使用

    1. 配置文件格式

    与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为若干个组,丽个组有一个组名, 用中括号
    [ ]扩起来,像这样:

    image-20220209220957093

    像这个配置文件里就定义了许多个组,组名分别是server.mysqldmysqld_safeclientmysqlmysqladmin.每个组下边可以定义若干个启动选项,我们以 [server] 组为例来看一下填写启动选项的形式(其他组中启动选项的形式是一样的)

    [server]
    option1 # 这是option1 该选项不需要选项值
    option2=value2 # 这是option2 该选项需要选项值
    

    在配置文件中指定启动选项的语法类似于命令行语法,但是配置文件中指定的启动选项不允许加 -- 前缀,并且每行只指定一个选项,而且= 周围可以有空白字符(命令行中选项名、选项值之间不允许有空白字符)。另外,在配置文件中,我们可以使用#来添加注释,从#出现直到行尾的内容都属于注释内容,读取配置文件时会忽略这些注释内容。

    2. 启动命令与选项组

    配置文件中不同的选项组是给不同的启动命令使用的, 不过有两个选项组比较特殊

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

    下面是启动命令能读取的选项组都有哪些:

    image-20220209222508274

    比如, 在 etc/mysql/my.cnf 这个配置文件中添加一些内容

    [server]
    skip-networking
    default-storage-engine=MyISAM
    

    然后直接用mysqld 启动服务器程序

    虽然在命令行没有添加启动选项,但是在程序启动的时候,就会默认的到我们上边提到的配置文件路径下查找配置文件,其中就包括/etc/my.cnf.又由于mysqld 命令可以读取[server] 选顶组的内容,所以skip-networkingdefault-storage-engine=MyISAM这两个选项是生效的, 你可以把这些选项放在[client] 组里再试试, 用mysqld启动服务器程序,就不生效·

    3. 特定MySQL版本的专用选项组

    我们可以在选项组的名称后加上特定的MySQL版本号,比如对于[mysqld] 选项组来说,我们可以定义一个[mysqld-5.7] 的选项组,它的含义和[mysqld] 一样,只不过只有版本号为5.7的mysqld程序才能使用这个选项组中的选项。

    4. 同一个配置文件中多个组的优先级

    我们说同一个命令可以访问配置文件中的多个组,比如 mysqld 可以访问[mysqld] 、[server] , 如果在同一个配置文件中比如、~/.my.cnf,在这些组里出现了同样的配置项,比如这样

    [server]
    default-storage-engine=MyISAM
    
    [mysqld]
    default-storage-engine=InnoDB
    

    那么,将以最后一个出现的组中的启动选项为准,比方说例子中default-storage-engine既出现在[mysqld] 组也出现在[server]组,因为[mysqld] 组在[server]组后边,以[mysqld] 组中的配置项为准·

    5. 命令行和配置文件中启动选顶的区别

    在命令行上指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比方说defaults-extra-filedefaults-file这样的选项本身就是为了指定配置文件路径的,再放在配置文件中使用就没啥意义了。

    如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准!比如我们在配置文件中写了。

    [server]
    default-storage-engine=MyISAM
    

    而我们的启动命令

    mysql.server start --default-storage-engine=InnoDB
    

    那最后的default-storage-engine 的值就是 InnoDB

  • 相关阅读:
    获取窗口句柄的几个办法
    我做的第一个网站
    学生信息管理系统
    程序题
    java冒泡排序
    模拟售票窗口,用4个线程模拟4个窗口在售票,共有8张票,用线程同步来实现
    设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1,写出程序。
    windows server 2012将计算机、回收站、文档等图标添加到桌面
    Javascript金额转化
    eclipse 每次切换工作空间都要重新配置
  • 原文地址:https://www.cnblogs.com/xjwhaha/p/16348897.html
Copyright © 2020-2023  润新知