第三节:MySQL的调控按钮——启动选项和系统变量

一、命令行上使用启动选项

    启动选项的通用格式 --启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n]
    禁止TCP/IP链接 略
    修改MySQL服务的默认存储引擎 mysqld --default-storage-engine=MyISAM 这里没有测试
        可以在my.cnf文件中指定为 default-storage-engine=MyISAM 需要重启MySQL
    客户端常用形式的选项
        --host 简写 -h 表示 主机名(ip)
        --user 简写 -u 表示 用户名
        --password 简写 -p 表示 密码
        --port 简写 -P 表示 端口
        --version 简写 -v 表示 版本信息
        注意:
            1.选项名和选项值之间可以没有间隙,或者用空白字符隔开
            2.-password特殊-p和密码值之间不能有空白字符,--port的简写-P P是大写的。

二、配置文件中使用选项

    推荐使用配置文件来设置启动选项
        Windows操作系统路径,安装下面这些路径来寻找
            %WINDIR%\my.ini, %WINDIR%\my.cnf 注:%WINDIR%表示Windows所在目录,正常是C:\Windows,可使用echo %WINDIR%输出路径。
            C:\my.ini, C:\my.cnf
            BASEDIR\my.ini, BASEDIR\my.cnf 注:BASEDIR指的是MySQL安装目录的路径
            其他 略
        类Unix操作系统中的配置文件
            /etc/my.cnf 注:我在centos7中就是这个路径下配置
            /etc/mysql/my.cnf
            $MYSQL_HOME/my.cnf 注:$MYSQL_HOME是环境变量
            其他 略
            只测试过centos7下面是/etc/my.cnf
    配置文件的内容(大开眼界)
        [server]
        (具体的启动选项...)
        [mysqld]
        (具体的启动选项...)
        [mysqld_safe]
        (具体的启动选项...)
        [client]
        (具体的启动选项...)
        [mysql]
        (具体的启动选项...)
        [mysqladmin]
        (具体的启动选项...)
        有些的参数只能放在不同的组中
            案例:[client]组放置了'default-storage-engine=MyISAM' 登录时候会报错 mysql: [ERROR] unknown variable 'default-storage-engine=MyISAM'
        具体的启动选项:不允许加--前缀,并且每行只指定一个选项,而且=周围可以有空白字符(命令行中选项名和选项值之间不允许有空白字符)
        两个选项组比较特别
            [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]
        特定MySQL版本的专用选项组
            选项组的名称后加上特定的MySQL版本号。
            案例:指定5.7的mysql程序才可以用 [mysqld-5.7]
            测试:没有自己测试过,用上的时候再测试。
        配置文件的优先级
            多个配置文件中设置了相同的启动选项,最后一个配置文件为准。
            同一个配置文件中多个组的优先级,以最后一个配置为准(写在下面的配置)
        命令行和配置文件中启动选项的区别
            1.大部分命令行的配置都可以放到配置文件中
            2.如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准。

三、系统变量

    查看系统变量 show variables [like 匹配的模式] 注:直接用show variables表示所有输出。
        案例:
            查看当前的默认引擎:SHOW VARIABLES LIKE 'default_storage_engine';
            查看当前最大连接数:SHOW VARIABLES like 'max_connections';
            模糊查询default开头:show variables like 'default%'
    设置系统变量
        通过启动选项设置,前面学习了
        服务器程序运行过程中设置
            大部分系统变量可以通过服务器运行中设置,无须重启服务器。
        设置不同作用范围的系统变量
            GLOBAL:后面用到学习。
            SESSION:后面用到学习。
            注意事项:
                不是所有都具有GLOBAL和SESSION的作用范围。
                    GLOBAL作用范围,比方说max_connections,表示服务器程序支持同时最多有多少个客户端程序进行连接。
                    SESSION作用范围,比如insert_id,表示在对某个包含AUTO_INCREMENT列的表进行插入时,该列初始的值。
                有些系统变量只读的,不能设置值
                    如:MySQL当前版本
        启动选项和系统变量的区别
            启动选项是程序启动时程序员传递的一些参数,系统变量是影响服务器程序运行行为的变量。
            关系:
                大部分系统变量都可以当做启动选项传入。
                有些系统变量是程序运行过程中自动生成的,不能当做启动选项传入。如:Auto_increment_offset。
                有些启动选项不是系统变量,如:default-file
    状态变量
        值只能由服务器程序自己设定,程序员不能设置。
        状态变量也有GLOBAL和SESSION两个作用范围,不写默认是SESSION
            查看 show [GLOBAL|SESSION] status [like 匹配的模式];
            案例:查询thread开头的session作用范围的状态变量show status like 'thread%'


脑图地址:方便有需要的同学高清看
http://naotu.baidu.com/file/a100e406fe26133c8b5c16923357f3ed?token=8aec9e6d7f4f7830

posted @ 2019-07-12 11:21  钧天府人  阅读(477)  评论(0编辑  收藏  举报