菏泽 兼职做网站,老薛主机做电影网站,seo就业指导,珠海企业建站程序文章目录 【MySQL】如何使用Shared-memory协议(Windows)连接MySQL数据库连接MySQL的协议使用Shared-memory协议(Windows)连接MySQL步骤1#xff1a;确认MySQL服务器已启用Shared-memory连接启动Shared-memory连接方法 步骤2#xff1a;客户端使用shared-memory连接MySQL服务器… 文章目录 【MySQL】如何使用Shared-memory协议(Windows)连接MySQL数据库连接MySQL的协议使用Shared-memory协议(Windows)连接MySQL步骤1确认MySQL服务器已启用Shared-memory连接启动Shared-memory连接方法 步骤2客户端使用shared-memory连接MySQL服务器。例1客户端使用shared-memory连接MySQL服务器例2默认连接MySQL服务器 常见错误 小结 【MySQL】如何使用Shared-memory协议(Windows)连接MySQL数据库
连接MySQL的协议
在MySQL中可以通过指定 --protocol参数选择连接MySQL的协议。
连接协议Connection Protocals
--protocol{TCP|SOCKET|PIPE|MEMORY}TCP/IP (ALL) -Transmission Control Protocal/Internet Protocal-Connection:local remote-Supports Clasic X protocol
Socket file (Unix including Linux/Mac) -Connection:local -Supports Clasic X protocol
Named Pipe (Win) -Connection:local -Supports Clasic
Shared Memory (Win) -Connection:local -Supports Clasic参考 https://dev.mysql.com/doc/refman/8.0/en/connection-options.html#option_general_protocol 4.2.3 Command Options for Connecting to the Server
使用Shared-memory协议(Windows)连接MySQL
在Windows环境中支持共享内存Shared-memory连接连接MySQL。 如果服务器启用了Shared-memory连接客户端就可以通过使用–protocolMEMORY选项使用Shared-memory连接MySQL。
使用Shared-memory协议(Windows)连接MySQL时能够提高MySQL的性能具体测评请参考如下官方链接的介绍。
参考 Improving the Performance of MySQL on Windows https://dev.mysql.com/blog-archive/improving-the-performance-of-mysql-on-windows/
步骤1确认MySQL服务器已启用Shared-memory连接
查看是否启用Shared-memory连接。
mysql show variables like shared_memory;
----------------------
| Variable_name | Value |
----------------------
| shared_memory | OFF |
----------------------
1 row in set, 1 warning (0.03 sec)mysql如果值是ON则表示启用OFF表示禁用状态。
启动Shared-memory连接方法
打开配置文件my.ini将shared-memory变量和shared-memory-base-name变量前的注释去掉并保存。
例
# The next three options are mutually exclusive to SERVER_PORT below.
# skip-networking
# enable-named-pipeshared-memoryshared-memory-base-nameMYSQL
※ my.ini文件的位置可以通过【mysql --help】命令中的Default options内容查看。 例
Default options are read from the following files in the given order:
C:\windows\my.ini C:\windows\my.cnf C:\my.ini C:\my.cnf E:\Soft\MySQL8.0\my.ini E:\Soft\MySQL8.0\my.cnf重新启动MySQL服务器。
net stop MySQL服务名
net start MySQL服务名例
C:\Users\Administratornet stop mysql80
MySQL80 服务正在停止.
MySQL80 服务已成功停止。C:\Users\Administratornet start mysql80
MySQL80 服务正在启动 ..
MySQL80 服务已经启动成功。3.查看shared-memory连接启用状态。
C:\Users\Administratormysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.28 MySQL Community Server - GPLCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql show variables like shared_memory;
----------------------
| Variable_name | Value |
----------------------
| shared_memory | ON |
----------------------
1 row in set, 1 warning (0.01 sec)mysql步骤2客户端使用shared-memory连接MySQL服务器。
例1客户端使用shared-memory连接MySQL服务器
通过指定–protocolMEMORY客户端可以使用shared-memory连接MySQL服务器。
C:\Users\Administratormysql --protocolMEMORY -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.28 MySQL Community Server - GPLCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql \s
--------------
mysql Ver 8.0.28 for Win64 on x86_64 (MySQL Community Server - GPL)Connection id: 9
Current database:
Current user: rootlocalhost
SSL: Not in use
Using delimiter: ;
Server version: 8.0.28 MySQL Community Server - GPL
Protocol version: 10
Connection: Shared memory: MYSQL
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: gbk
Conn. characterset: gbk
TCP port: 0
Binary data as: Hexadecimal
Uptime: 1 min 58 secThreads: 2 Questions: 12 Slow queries: 0 Opens: 134 Flush tables: 3 Open tables: 53 Queries per second avg: 0.101
--------------mysql
例2默认连接MySQL服务器
启用shared-memory连接后不指定–protocol时本地连接也会使用shared-memory连接MySQL服务器。
C:\Users\Administratormysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.28 MySQL Community Server - GPLCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql \s
--------------
mysql Ver 8.0.28 for Win64 on x86_64 (MySQL Community Server - GPL)Connection id: 10
Current database:
Current user: rootlocalhost
SSL: Not in use
Using delimiter: ;
Server version: 8.0.28 MySQL Community Server - GPL
Protocol version: 10
Connection: Shared memory: MYSQL
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: gbk
Conn. characterset: gbk
TCP port: 0
Binary data as: Hexadecimal
Uptime: 3 min 52 secThreads: 2 Questions: 17 Slow queries: 0 Opens: 134 Flush tables: 3 Open tables: 53 Queries per second avg: 0.073
--------------mysql常见错误
当服务器shared memory连接未启用的时候使用shared memory连接会报如下的错误
C:\Users\Administratormysql --protocolMEMORY -u root -p
Enter password: ********
ERROR 2038 (HY000): Cant open shared memory; client could not create request event (2)
可参考如上的方法在服务器端进行相应的配置。
小结
本文介绍了在Windows环境中如何使用shared memory协议连接MySQL数据库的方法。