mysql 基础配置和系统变量

mysql 基础配置和系统变量

  • mysql基础配置
      • mysql客户端基础操作
      • mysql常用的系统选项和系统变量
      • mysql字符集

mysql基础配置

mysql客户端基础操作

# 客户端连接
mysql -hlocalhost -uroot -p123456
# 退出命令
quit
exit
\q

服务器处理客户端的查询请求流程:连接管理,解析与优化,存储引擎
mysql 基础配置和系统变量_第1张图片

mysql常用的系统选项和系统变量

#查询服务器支持的存储引擎
show engines;

查询结果中,其中的support列表示改存储引擎是否可用,default值表示是当前服务器程序的默认引擎,comment列是对存储引擎的一个描述,transactions列表示存储引擎是否支持事务处理,XA该列表示存储引擎是否支持分布式事务,savepoints列表示该列是否支持事务回滚

#设置表的存储引擎
create table 表名 (
	字段 属性 约束 长度
) engine = 存储引擎;
#修改表的存储引擎
alter table 表名 engine = 存储引擎;

在mysql5.7中,默认引擎是innoDB
也可以使用 --default-storage-engine 服务器启动选项或者通过在my.cnf 配置文件中设置
default-storage-engine来指定默认存储引擎

查看系统变量

#查看服务器程序支持的系统变量 数量较多
show variables [like 匹配的模式];
#例如查询默认的存储引擎
show variables like '%defalut_storage_engine%';

设置系统变量

  • global: 全局变量,影响服务器的整体操作
  • session;会话变量,影响某个客户端连接的操作
    设置语法:
    SET [GLOBAL|SESSION] 系统变量名 = 值;
    不是所有系统变量都具有 GLOBAL 和 SESSION 的作用范围
    有些系统变量只有global作用范围,比如说max_connections,表示服务器支持同时最多有多少客户端连接
    有些系统变量只具有session作用范围 例identity此变量是last_insert_id变量的同义词。存在它是为了与其他数据库系统兼容

mysql字符集

常用的字符集

  • ascll 字符集
    共128个字符,包含空格,标点符号,数字,大小写字母和一些不可见字符,一个字节编码
  • ISO 8859-1 字符集
    共256个字符,是在ascll字符集的基础上扩充了128个常用字符,也可以使用一个字节编码
  • gb2312 字符集
    包含汉字以及拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母。其中收录汉字6763个,其他文字符号682个。同时这种字符集又兼容 ASCII 字符集
    如果改字符在ascll字符集中,则采用1个字节编码,否则采用2字节编码
  • gbk 字符集
    在gb2312上做了扩充,编码兼容gb2312
  • utf8 字符集
    所有字符,兼容ascll字符集,采用变长编码方式
    utf8只是Unicode字符集的一种编码方案,Unicode字符集可以采用utf8、utf16、utf32这几种编码方案,utf8使用1~4个字节编码一个字符,utf16使用2个或4个字节编码一个字符,utf32使用4个字节编码一个字符

mysql 中的utf8和utf8mb4
utf8mb3(mysql的utf8):简化过的utf8字符集,只使用1-3字节表示
uft8mb4:utf8字符集,使用1-4字节表示,可以存储emoji表情

字符集比较规则
最简单的是二进制比较规则(binary collation)
指定字符集的排序规则
比较规则的作用通常体现比较字符串大小的表达式以及对某个字符串列进行排序中

character_set_database 当前数据库的字符集
collation_database 当前数据库的比较规则
字符集和规则,分为服务器级别,数据库级别,表级别,列级别
如果没有显示制定,按照顺序使用。列 -> 表 -> 数据库 -> 服务器
客户端和服务器编解码过程

客户端和服务端如果字符集不一致,可能会造成意向不到的情况,或者乱码,通常都把character_set_client 、character_set_connection、character_set_results 这三个系统变量设置成和客户端使用的字符集一致的情况,这样减少了很多无谓的字符集转换

你可能感兴趣的:(mysql,mysql,数据库)