Navicat远程登录Linux上的mysql数据库

本文介绍如何在CentOS 6环境下配置MySQL服务,实现远程连接,并提供关闭防火墙、修改数据库密码等实用操作步骤。

作为一名java码农,最近开始做运维的相关工作,把自己工作中遇到的问题和解决方案记录下来,方便自己以后做查询!

环境相关:

centos6:其他的版本也是相通的,centos6中已经装好了mysql服务,不会的同学可以自己百度一下.

装有Navicat的windows电脑一台.

第一步:

使用ssh连接工具,连接上你的centos服务器个人强烈推荐MoBaXterm连接工具

登录centos上的mysql数据库:

# mysql -u root -p你的数据库密码

 第二步:

然后切换到mysql数据库:

 mysql>use mysql

开放数据库的权限(表示接受任何使用该密码的任何ip的连接请求):

mysql>GRANT ALL PRIVILEGESON *.* TO 'root'@'%' IDENTIFIED BY '你的数据库密码' WITH GRANT OPTION;

重新加载mysql数据库的权限:

mysql> flush privileges;

退出数据库:

mysql> exit

第三步:

就是要关闭防火墙:

#service iptables stop

现在可以使用本地的Navicat连接了。  




附上一些可能会用到的命令:

查询mysql的端口号:

show global variables like 'port';

更改数据库的密码:

mysql> USE mysql ;

Databasechanged

mysql> UPDATE mysql.user SETPassword=PASSWORD('mysqladmin') where USER='root';

Query OK, 0 rowsaffected (0.00 sec)

Rowsmatched: 2 Changed: 0 Warnings: 0

mysql> flushprivileges;

Query OK, 0 rowsaffected (0.01 sec)

mysql> quit

其实还有另外一种不推荐,但是稍微简单一点的方法

登入mysql,更改"mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

 效果是一样的.

  #mysql -u root -proot

  mysql>use mysql;

  mysql>update user set host = '%' where user ='root';

  mysql>select host, user from user;



### Navicat 17 连接 Linux 上的 MySQL 数据库教程 #### 准备工作 在开始之前,确保已经完成以下准备工作: - 已经安装并配置好 Linux 系统中的 MySQL 数据库服务[^2]。 - 安装了 Navicat 17 软件,并能够正常运行[^1]。 #### 查看 MySQL 服务器 IP 地址 为了确认 MySQL 的监听地址和服务端口,在终端执行如下命令来获取 MySQL 服务的状态以及绑定的 IP 和端口号: ```bash sudo netstat -tlnp | grep mysqld ``` 上述命令可以显示当前 MySQL 是否正在监听指定的网络接口及其对应的端口号,默认情况下 MySQL 使用的是 `3306` 端口。 #### 授权远程访问权限 默认情况下,MySQL 只允许本地连接。如果希望从其他设备(如 Windows 或 Mac)通过 Navicat 访问该数据库,则需要设置相应的用户权限。可以通过以下 SQL 命令实现对特定用户的授权操作: ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql密码' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 此语句的作用是授予 root 用户从任意主机 (`%`) 登录的权利,并设定其登录时使用的密码为 `'mysql密码'`[^3]。注意替换实际所需的用户名和密码信息。 #### 配置防火墙规则 有时即使完成了以上步骤仍然无法成功建立连接,这可能是由于操作系统自带的防火墙阻止了外部请求所致。因此还需要调整系统的防火墙策略以开放必要的端口。以下是针对 CentOS/RedHat 类发行版的操作指南: 查询防火墙状态: ```bash sudo systemctl status firewalld ``` 临时关闭防火墙以便测试连通性效果: ```bash sudo systemctl stop firewalld ``` 或者更安全的做法是在不完全禁用防护机制的前提下仅放行目标端口流量: ```bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload ``` 最后再次验证更改后的防火墙状况是否生效即可[^4]。 #### 创建新连接 打开 Navicat 17 后按照界面提示新建一个 MySQL/MariaDB 的连接实例。填写必要参数包括但不限于: - **Connection Name**: 自定义名称用于区分不同链接; - **Host Name/IP Address**: 输入刚才查得的目标机器公网或局域网内的有效 IPv4/v6 数字串; - **Port Number**: 默认应保持不变即填入 `3306`; - **User Name & Password**: 对应先前赋予远控许可的那个账户凭证组合; 保存修改之后尝试点击「Test Connection」按钮检验整个流程无误便可正式投入使用啦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值