1.查看系统变量: SHOW VARIABLES [LIKE 匹配模式]; 2.设置系统变量: 通过启动选项设置: 1.通过命令行添加启动选项. 比方说在启动服务器程序时用这个命令: mysqld --default-storage-engine-MyISAH --max-connections-10 2.通过配置文件添加启动选项. 可以这样填写配置文件 [server] default-storage-engine- MyISAM max-connections-10 3.服务器程序运行过程中设置: • GLOBAL (全局范围): 影响服务器的整体操作.具有 GLOBAL 作用范围的系统变量 可以称为全面变量. • session(会话范围),影响某个客户端连接的操作.具有 SESSION 作用范围的系统 变量可以称为会话变量. •通过启动选项设置的系统变量的作用范围都是 GLOBAL 的; •设置系统变量的语法: SET (GLOBAL|SESSION) 系统变量名=值; 或者 SET [(@@(GLOBAL|SESSION).] 系统变量名=值; •全局变量(global variables): 全局变量在MySQL服务器的整个生命周期内保持持久性,并且对所有会话都是可见的。这些变量可以被任何连接到MySQL服务器的客户端修改,并且对所有连接都具有相同的值。全局变量的值在MySQL服务器重启后仍然保持不变。 •会话变量(session variables): 会话变量是与特定会话相关联的变量。每个连接到MySQL服务器的客户端都会有自己的会话变量。这些变量的值只在当前会话中有效,并且对其他会话不可见。当会话结束时,会话变量的值将被清除。 •查看全局变量的值: SHOW GLOBAL VARIABLES LIKE 'variable_name'; •查看会话变量的值: SHOW SESSION VARIABLES LIKE 'variable_name'; •一些变量既可以作为全局变量又可以作为会话变量存在。在这种情况下,如果设置了会话变量的值,则会话变量的值将覆盖全局变量的值。如果没有设置会话变量的值,则会话变量将采用全局变量的值。 •SET 系统变量名=值"和 "SET SESSrON 系统变量名=值"是等价的. •如果某个客户 端改变了 某个系统变量在 GLOBAL 作用范围的值,其并不会影响谅系 统变量在当前已经连接的客户端作用范围为 SESSION 的值,只会影响后续追入的客户 端作用范围为 SESSION 的值. •并不是所有的系统变量都具有 GLOBAL 和 SESSION 的作用范围.
状态变量:
1 2 3 4 5
1.概念:为了让我们更好地了解服务器程序的运行情况,MySQL 服务器程序中维护了好多关于程序运行状态的变量,它们被称为状态变量. 2.由于状态变量是用来显示服务器程序运行状态的,所以它们的值只能由服务器程序自己来设置,不能入为设置.与系统变量类似,状态变量也有 GLOBAL 和 SESSION 两个作用范围, 查看'状态变量的语句可以这么写: SHOW (GLOBAL|SESSION) STATUS (LIKE 匹配的模式);
字符集:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
在MySQL中,字符集(character set)定义了如何存储和处理文本数据的字符编码方式,而字符集比较规则(collation)则定义了如何对字符进行排序和比较。 字符集比较规则决定了在排序、字符串比较和索引等操作中字符的顺序和比较规则。不同的字符集比较规则可能会导致不同的排序结果和比较行为。 以下是一些常见的字符集比较规则: utf8_general_ci:UTF-8编码的不区分大小写的比较规则,适用于一般的文本排序和比较。 utf8_bin:UTF-8编码的区分大小写的比较规则,区分大小写的排序和比较。 utf8mb4_general_ci:UTF-8编码的不区分大小写的比较规则,适用于包括Emoji在内的所有Unicode字符的排序和比较。 utf8mb4_bin:UTF-8编码的区分大小写的比较规则,区分大小写的排序和比较,适用于包括Emoji在内的所有Unicode字符。 在创建数据库、表或列时,可以指定字符集和字符集比较规则。例如: CREATE DATABASE database_name CHARACTER SET charset_name COLLATE collation_name; CREATE TABLE table_name (...) CHARACTER SET charset_name COLLATE collation_name; ALTER TABLE table_name MODIFY column_name column_type CHARACTER SET charset_name COLLATE collation_name; 要查看数据库、表或列的字符集和字符集比较规则设置,可以使用以下语句: SHOW CREATE DATABASE database_name; SHOW CREATE TABLE table_name; SHOW FULL COLUMNS FROM table_name; 在进行字符串比较、排序和索引时,确保选择正确的字符集和字符集比较规则非常重要,以避免不一致的排序结果和比较行为。