seo最好的网站源码,如何搭建网站平台,apmserv安装wordpress,frontpage制作个人网页教程MySQL 服务器简介
通常所说的 MySQL 服务器指的是mysqld程序#xff0c;当运⾏mysqld后对外提供MySQL 服务#xff0c;这个专题的内容涵盖了以下关于MySQL 服务器以及相关配置的内容#xff0c;包括#xff1a;
服务器⽀持的启动选项。可以在命令⾏和配置⽂件中指定这些选…MySQL 服务器简介
通常所说的 MySQL 服务器指的是mysqld程序当运⾏mysqld后对外提供MySQL 服务这个专题的内容涵盖了以下关于MySQL 服务器以及相关配置的内容包括
服务器⽀持的启动选项。可以在命令⾏和配置⽂件中指定这些选项。服务器系统变量。反映了启动选项的当前状态和值其中⼀些变量可以在服务器运⾏时修改。服务器状态变量。这些变量包含了有关运⾏时操作的计数器和统计信息。服务器如何管理客⼾端连接。配置和使⽤时区⽀持。服务器端帮助功能。
1. 服务器配置和默认值
mysqld 有很多选项和系统变量可以在启动时进⾏配置要查看服务器的默认选项和系统变量值可以执⾏以下命令
mysqld --verbose --help查看服务器在运⾏时系统变量的值连接到MySQL并执⾏以下语句
mysql SHOW VARIABLES;查看服务器在运⾏时的⼀些统计和状态指⽰器连接到MySQL并执⾏以下语句
mysql SHOW STATUS;系统变量和状态信息也可以使⽤ mysqladmin命令来查看
rootguangchen-vm:~# mysqladmin variables
rootguangchen-vm:~# mysqladmin extended-status注意系统变量、状态变量的作⽤域分为 Global (全局), Session (当前会话或连接), 或 两者都⽀持
2. 系统变量和选项
2.1 简介
当通过mysqld启动数据库服务器时可以通过选项⽂件或命令⾏中提供选项但是在⼤多数情况下为确保服务器每次运⾏时都使⽤相同的选项最好的⽅法是在选项⽂件中指定相应的选项。mysqld从选项⽂件中的 [mysqld] 和 [server] 组(节点)中读取选项内容mysqld接受的选项可以通过 mysqld --verbose --help 查看列表中的有些项⽬是可以在服务器启动时设置的系统变量系统变量可以在连接MySQL后使⽤ SHOW VARIABLES 语句查看但有些内容只在 --help 中存在使⽤ SHOW VARIABLES 时并没有显⽰这是因为它们只是选项⽽不是系统变量。 注意选项值可以通过命令⾏和选项⽂件设置部分系统变量可以通过SET语句动态设置值 2.2 常⽤选项 3. 使⽤系统变量 以上我们介绍了通过选项⽂件和命令⾏设置相应系统变量的值设置系统变量的语法与命令选项的语法相同指定变量名称时破折号和下划线可以互换使⽤。例如 --general_logON 和 --general-logON 是等价的。 当使⽤选项设置⼀个数值的变量时可以带有后缀 K 、 M 或 G ⼤⼩写不限表⽰ 1024 、1024^2 或 1024^3 从MySQL 8.0.14 开始后缀也可以⽤ T 、 P 和 E 来表⽰ 1024^4 、1024^5 或 1024^6 。
⽰例为服务器指定 256 KB 的排序缓冲区⼤⼩和 1 GB 的最⼤数据包⼤⼩ 系统变量有两个作⽤域分别是 Global (全局)和 Session (会话) Global 全局变量影响服务器的整体操作 Session 会话变量影响各个客⼾端连接的操作。给定的系统变量可以同时具有全局值和会话值它们的关系如下 服务器启动时会将每个全局变量初始化并设置默认值具体的值可以通过命令⾏或选项⽂件更改。服务器为每个客⼾端维护⼀组 Session 变量在客⼾端连接时使⽤相应全局变量的当前值进⾏初始化。 ⼤部分系统变量是动态的在服务器运⾏时可以通过 SET 语句动态更改并且⽆需停⽌和重新启动服务器。在服务器运⾏时使⽤ SET 语句设置系统变量需要指定作⽤域(也可以在前⾯加上 修饰符)然后指定系统变量的名称名称必须使⽤下划线⽽不是破折号如下所⽰
a. 设置全局系统变量最⼤连接数为1000 b. 将全局系统变量持久化到 mysqld-auto.cnf ⽂件同时设置运⾏时值 # PERSIST 表⽰持久化的同时设置全局变量的值 mysql SET PERSIST max_connections 1000; mysql SET PERSIST.max_connections 1000; c. 将全局系统变量持久化到 mysqld-auto.cnf ⽂件不设置运⾏时值 删除持久化的系统变量可以使⽤语句 RESET PERSIST IF EXISTS system_var_name ; d. 设置 Session 系统变量时区为8:00 对于数值型的系统变量⽤带有后缀的值指定时只适⽤于选项⽅式⽽不能⽤在 SET ⽅式中SET ⽅式可以使⽤表达式为系统变量指定值⽽在选项⽅式中不允许如下所⽰ 说明在设置全局变量时需要指定GLOBAL关键字的原因是为了防⽌出现以下问题: 如果要删除的SESSION变量与GLOBAL变量名相同那么具有修改全局变量权限的客⼾端可能会意外地更改GLOBAL变量⽽不仅仅是只修改SESSION变量。如果已经有⼀个SESSION变量⽽且与GLOBAL变量同名那么本意是要修改GLOBAL变量可能只是修改了SESSION变量的值 所以没有明确指定 GLOBAL 和 SESSION 时对于当前客⼾端来说 SESSION 的优先级更⾼ 要显⽰系统变量名称和值请使⽤以下 SHOW VARIABLES 语句 可以使⽤ LIKE ⼦句显⽰与指定内容匹配的变量也可以使⽤通配符 ⼀部分系统变量是内置的也有⼀些需要通过安装服务器插件或组件才可以使⽤ ⽐如⽤于审计插件 audit_log 实现了名为 audit_log_policy 的系统变量错误⽇志过滤组件 log_filter_dragnet 实现了名为 log_error_filter_rules 的系统变量。
4 ⽰例服务器常⽤配置 Linux系统下编辑 /etc/mysql/my.cnf Windows系统下打开C:/ProgramData/MySQL/MySQL Server 8.0/my.ini 注意 编辑前先备份原始⽂件 如果要修改数据⽬录选项建议先停⽌MySQL服务并把原data⽬录整体复制到新路径配置完成后重启服务 5 查看状态变量
MySQL服务器维护着当前系统信息的状态变量
可以使⽤ SHOW [GLOBAL | SESSION] STATUS [like status_name]; 语句查看这些变量和对应的值。
GLOBAL显⽰所有连接的值SESSION显⽰当前连接的值。