navicat远程连接阿里云服务器上的mysql

提升MySQL数据库权限与安全设置的三种方案
本文介绍了三种优化MySQL数据库权限和安全性的方法:1)修改用户表并赋予root全局权限;2)改变数据库配置文件允许远程访问;3)使用SSH连接绕过配置直接连接。同时强调了检查和开放阿里云服务器安全组的重要性。

方案一:修改user数据表,并给root赋权

  1. 登录mysql数据库,选择use mysql;
  2. 查询root用户的权限:select user,host  from user;
  3. 如果当前root后面host权限是localhost,那么我们将其修改为%即可
  4. update user set host = ‘%’ where user = 'root';
  5. 结果如下所示:
  6. 更新权限:flush privileges;
  7. 给root赋权
  8. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里写自己数据库的密码' WITH GRANT OPTION;
  9. 检查阿里云服务器的安全组,在给安全组开放3306端口

方案二:修改数据库的访问权限

  1. 修改数据库的配置文件,一般在/etc/mysql/mysql.conf.d/mysqld.cnf,将其中的bind-address修改为0.0.0.0。
  2. 重启mysql服务,systemctl restart mysql
  3. 检查阿里云服务器的安全组,在给安全组开放3306端口

方案三:使用SSH方法连接MySQL数据库

该方法属于一种绕道的方法,在不配置任何mysql的前提下,先使用ssh连接阿里云服务器,后再使用localhost连接mysql数据库。

如果有哪里写的不清楚的地方,欢迎留言沟通!

### 如何使用 Navicat 连接阿里云 Linux 服务器 MySQL 数据库 #### 创建 SSH 隧道连接 为了安全地访问位于阿里云 Linux 服务器上的 MySQL 数据库,建议通过 SSH 隧道建立连接。这可以通过在本地计算机上设置一个到远程服务器的安全通道来实现。 #### 设置 MySQL 用户权限 确保 MySQL 中存在具有适当权限的用户账户以便能够接受来自外部 IP 地址的请求: ```sql CREATE USER 'root'@'%' IDENTIFIED BY '设定强密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES; ``` 上述命令创建了一个新用户 `root` 并赋予其全局管理权限[^2]。 #### 使用 Navicat 建立连接 打开 Navicat Premium 工具后,按照如下方式配置新的连接参数: - **连接名称**: 自定义描述性的名字用于识别此特定链接。 - **主机名/IP地址**: 输入 `127.0.0.1` 或者 `localhost` 而不是实际公网IP,因为我们将利用SSH隧道转发端口。 - **端口号**: 默认情况下为3306,除非更改过MySQL监听端口。 - **用户名/密码**: 刚才创建用户的凭证信息。 - **高级选项中的SSH部分**: - 启用“通过 SSH 隧道连接” - 提供有效的SSH Host(即ECS实例的公共IPv4) - 指定SSH端口,默认通常是22 - 输入拥有SSH访问权的账号及其私钥文件路径或直接输入密码验证 完成以上步骤之后点击保存并尝试测试连接以确认一切正常工作。 #### 处理可能遇到的问题 如果遇到无法解析主机错误如 “Unknown MySQL server host”,可能是由于DNS解析失败或者是防火墙阻止了通信。检查网络连通性和安全组规则允许必要的入站流量到达目标机器[^5]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值