【赵渝强老师】MySQL的连接方式

在这里插入图片描述
  MySQL数据库服务器成功启动后,可以通过多种不同的方式进行连接。连接方式主要有:本地连接、远程连接和安全连接。下面通过具体的步骤来演示如何使用它们。
  视频讲解如下:

MySQL的连接方式

【赵渝强老师】MySQL的连接方式

一、本地连接

(1)在CentOS的命令终端中直接输入下面的命令,并使用root用户登录MySQL,输入“/usr/local/mysql/data/error.log”中的临时密码。

mysql -uroot -p

(2)修改MySQL root用户的密码。

mysql> alter user 'root'@'localhost' identified by 'Welcome_1';

提示:这里将root用户密码修改为了“Welcome_1”。

(3)下面的语句将设置用户root远程登录。

mysql> create user 'root'@'%' identified by 'Welcome_1';
mysql> grant all on *.* to 'root'@'%';
mysql> flush privileges;

二、远程连接

  这里我们创建一个新的用户“user001”,并且允许该用户远程登录后只能操作系统的“mysql”数据库。
(1)创建用户“user001”,密码是“Welcome_1”。

mysql> create user 'user001'@'%' identified by 'Welcome_1';

(2)为用户“user001”授权。

mysql> grant all on mysql.* to 'user001'@'%';
mysql> flush privileges;

(3)使用root用户查看系统的“user”表。

mysql> use mysql;
mysql> select host,user from user;

三、安全连接

  MySQL默认的数据通道是不加密的,在一些安全性要求特别高的场景下,我们需要配置MySQL端口为SSL,使得数据通道加密处理,避免敏感信息泄漏和被篡改。当启用MySQL SSL之后,由于每个数据包都需要加密和解密,将对MySQL数据库的性能造成严重的影响。

提示:默认情况下,MySQL 8已经启用SSL的安全连接。如果没有启用SSL安全连接,MySQL提供了一个实用程序命令“mysql_ssl_rsa_setup”帮助启用和配置SSL的安全连接以及需要的证书。

  下面通过具体的步骤来演示如何使用MySQL的SSL安全连接。
(1)使用MySQL的root用户登录,执行“status”语句检查是否启用了SSL的安全连接。

mysql> status;
# 输出的信息如下:
mysql  Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)
Connection id: 9
Current database:
Current user:     root@localhost
SSL:     Not in use
......

提示:root用户默认是不需要使用SSL的安全连接的。

(2)查看SSL参数状态,查看have_ssl为YES,这表示MySQL已经支持SSL的安全连接。

mysql> show variables like '%ssl%';
#输出的信息如下:
+--------------------+-----------------+
| Variable_name      | Value           |
+--------------------+-----------------+
| have_openssl       | YES             |
| have_ssl           | YES             |
| mysqlx_ssl_ca      |                 |
| mysqlx_ssl_capath  |                 |
| mysqlx_ssl_cert    |                 |
| mysqlx_ssl_cipher  |                 |
| mysqlx_ssl_crl     |                 |
| mysqlx_ssl_crlpath |                 |
| mysqlx_ssl_key     |                 |
| ssl_ca             | ca.pem          |
| ssl_capath         |                 |
| ssl_cert           | server-cert.pem |
| ssl_cipher         |                 |
| ssl_crl            |                 |
| ssl_crlpath        |                 |
| ssl_fips_mode      | OFF             |
| ssl_key            | server-key.pem  |
+--------------------+-----------------+

(3)创建一个用户,要求使用SSL的安全连接。

mysql> create user 'user002'@'%' identified by 'Welcome_1';
mysql> grant all on *.* to 'user002'@'%';
mysql> alter user 'user002'@'%' require ssl;

(4)查看是否开启强制用户使用SSL。

mysql> select user,host,ssl_type,ssl_cipher from mysql.user ;
#输出的信息如下:
+------------------+--------------+----------+------------------------+
| user             | host         | ssl_type | ssl_cipher             |
+------------------+--------------+----------+------------------------+
| mycat            | %            |          | 0x                     |
| root             | %            |          | 0x                     |
| user002          | %            | ANY      | 0x                     |
| myadmin          | 192.168.79.% |          | 0x                     |
| proxysql         | 192.168.79.% |          | 0x                     |
| repl             | 192.168.79.% |          | 0x                     |
| mysql.infoschema | localhost    |          | 0x                     |
| mysql.session    | localhost    |          | 0x                     |
| mysql.sys        | localhost    |          | 0x                     |
| root             | localhost    |          | 0x                     |
+------------------+--------------+----------+------------------------+

(5)客户端使用“user002”通过SSL安全连接方式连接MySQL。

mysql --ssl-ca=/usr/local/mysql/data/ca.pem \
--ssl-cert=/usr/local/mysql/data/client-cert.pem \
--ssl-key=/usr/local/mysql/data/client-key.pem \
-uuser002 -p

(6)输入user002的密码,登录后执行“status”语句检查是否启用了SSL的安全连接。

mysql> status;
#输出的信息如下:
mysql  Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)
Connection id:         13
Current database:
Current user:           user002@localhost
SSL:                    Cipher in use is TLS_AES_256_GCM_SHA384
Current pager:          stdout
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵渝强老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值