MySQL客户端
1. MySQL客户端连接方式
1.1 socket连接
在MySQL服务器上使用本地MySQL连接,底层就是使用的Socket方式,可以通过status或者\s命令查看
1.2 TCP/IP连接
通过mysql -h -u
远程连接MySQL实例底层就是使用的是TCP/IP协议:
1.4 配置SSL连接
上面使用\s或者status命令返回信息包含了SSL一栏的信息,发现本地socket没有启动SSL。这是因为本地传输数据不会涉及跨机器传输,而SSL是安全网络传输协议,所以本地socket不会启用SSL。
如果使用的是TCP/IP协议是默认MySQL5.7启用SSL的,前提是MySQL开启了SSL。 在SSL的基础上还有更强的校验方式:x509, 使用x509验证方式需要配置安全证书才能登录:
sql
ALTER USER 'amy'@'%' IDENTIFIED BY 'amy' REQUIRE x509;
这时amy用户再登录就会报错,即使用户名密码正确: 需要从MySQL服务器上面的data目录下面下载client-key.pem和client-cert.pem文件:
在客户端连接的时候配置证书文件:
1.5 连接不使用SSL
如果MySQL服务器配置用户没有强制使用SSL的话,默认客户端可以不适用SSL:
sh
[jack@hadoop104 ~]$ mysql -ujack -h192.168.101.102 -P3307 --ssl-mode=disabled -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 78
Server version: 5.7.44 MySQL Community Server (GPL)
Copyright (c) 2000, 2024, 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> status
--------------
mysql Ver 8.0.39 for Linux on x86_64 (MySQL Community Server - GPL)
Connection id: 78
Current database:
Current user: jack@192.168.101.104
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.44 MySQL Community Server (GPL)
Protocol version: 10
Connection: 192.168.101.102 via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3307
Binary data as: Hexadecimal
Uptime: 3 days 12 hours 17 min 51 sec
Threads: 9 Questions: 301664 Slow queries: 0 Opens: 518 Flush tables: 1 Open tables: 505 Queries per second avg: 0.994
SSL可见处于Not in use状态。
2. 使用WorkbenchCE客户端
2.1 安装WorkbenchCE
访问官网https://dev.mysql.com/downloads/workbench/, 即可下载安装包:
2.2 连接数据库
点击软件首页的+号,添加数据库连接: 输入用户名密码即可连接: