美文网首页MySQL
80-实战-MySQL服务器

80-实战-MySQL服务器

作者: 紫荆秋雪_文 | 来源:发表于2023-02-26 15:38 被阅读0次

一、阶段一:连接管理

1.1、MySQL服务器在连接管理工作

  • 1、客户端进程可以采用TCP/IP、命名管道或共享内存、Unix域套接字这几种方式之一来与服务器进程建立连接,每当有一个客户端进程连接到服务器进程时,服务器进程都会创建一个线程来专门处理与这个客户端的交互。
  • 2、当该客户端退出时会与服务器断开连接,服务器并不会立即把与该客户端交互的线程销毁掉,而是把它缓存起来
  • 3、当另一个新的客户端再进行连接时,把这个缓存的线程分配给该新客户端
  • 4、这样就起到了不频繁创建和销毁线程的效果,从而节省开销
  • 5、从这一点可以看出,MySQL服务器会为每一个连接进来的客户端分配一个线程,但是线程分配的太多了会严重影响系统性能,所以我们也需要限制一下可以同时连接到服务器的客户端数量

二、MySQL启动选项

2.1、禁止客户端使用TCP/IP网络进行通信

在命令行中指定启动选项时需要在选项名前加上 -- 前缀。另外,如果选项名是由多个单词构成的,它们之间可以由短划线 - 连接起来,也可以使用下划线 _ 连接起来,也就是说skip-networkingskip_networking表示的含义是相同的。所以上面的写法与下面的写法是等价的

  • 禁止命令
mysqld --skip_networking
  • 登录命令
mysql -h127.0.0.1 -uroot -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (61)

2.2、修改表的默认存储引擎的话,可以这样写启动服务器的命令行

mysqld --default-storage-engine=MyISAM

2.3、在启动服务器程序的命令行后边指定启动选项的通用格式

--启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n]
  • 选项名、=、选项值之间不可以有空白字符,比如写成下面这样就是不正确的
mysqld --default-storage-engine = MyISAM

2.4、配置文件

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

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

[mysqld]
(具体的启动选项...)

[mysqld_safe]
(具体的启动选项...)

[client]
(具体的启动选项...)

[mysql]
(具体的启动选项...)

[mysqladmin]
(具体的启动选项...)

  • 1、在配置文件中指定启动选项的语法类似于命令行语法,但是配置文件中只能使用长形式的选项。在配置文件中指定的启动选项不允许加--前缀,并且每行只指定一个选项,而且=周围可以有空白字符(命令行中选项名、=、选项值之间不允许有空白字符)

  • 2、配置文件中不同的选项组是给不同的启动命令使用的,如果选项组名称程序名称相同,则组中的选项将专门应用于该程序

  • 3、[mysqld]应用于mysqld服务器程序

  • 4、[mysql]应用于mysql客户端程序

  • 5、[server]组下面的启动选项将作用于所有的服务器程序

  • 6、[client]组下面的启动选项将作用于所有的客户端程序

    命令及适用配置.png

2.5、配置文件的优先级

2.6、同一个配置文件中多个组的优先级

三、 乱码的前世今生-字符集和比较规则

3.1、MySQL中的utf8和utf8mb4

3.2、 字符集和比较规则的应用

相关文章

网友评论

    本文标题:80-实战-MySQL服务器

    本文链接:https://www.haomeiwen.com/subject/hwmtkdtx.html