zoukankan      html  css  js  c++  java
  • Navicat 远程连接 MySQL

    相信大家都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,如果使用 Navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在命令行写 SQL 语句的操作。下面简单介绍一下 Navicat 连接远程数据库的操作。

    1

    首先我们需要更改 3306端口,查看3306 端口是否对外开放,MySQL 默认情况下是不开放对外访问功能的。语句如下:

    netstat -an | grep 3306
    

    如果查询结果如下,需要我们更改 MySQL 配置文件。

    可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改 MySQL 配置文件 my.conf :

    vim /etc/mysql/my.cnf
    

    找到

    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    bind-address  = 127.0.0.1 
    

    bind-address = 127.0.0.1 这行注释掉或者改为你想要使用的客户端主机 ip。

    至此 MySQL 远程访问端口就成功开启了。

    2

    我们进入 MySQL 命令界面,运行下列SQL 语句,查看用户是否具有访问权限:

    use mysql;
    select user, host from user;
    

    返回结果如下:

    我们使用通配符 % 来修改 root 用户对应的 host 字段,使具有访问所有 ip 地址的权限:

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

    如果抛出如下异常:

    Duplicate entry '%-root' for key 'PRIMARY'
    

    说明有多个ROOT用户纪录在USER表中了,我们重新执行:

    select host from user where user = 'root';
    

    便能看到字段 host 的 % 值。

    我们执行:

    flush privileges;
    

    刷新一下 MySQL 的系统权限相关表。

    最后重启一下 MySQL 服务:

    sudo restart mysql
    

    3

    服务端设置好了,我们在 Navicat 客户端设置一下连接:

    打开 Navicat,点击左上方的 "连接",设置一下数据库的用户名,地址,密码等,便能在 Navicat 中远程操作服务器上的 MySQL 啦。

  • 相关阅读:
    PLC 控制系统资源
    .net core 控制台程序生成EXE
    EF Core 日志跟踪sql语句
    Oracle 设置自启动
    数据库批量插入数据
    字符串面试题系列之六:在字符串中删除特定的字符
    字符串面试题系列之五:删除字符串空格
    字符串面试题系列之四:字符串匹配二
    字符串面试题系列之三:左旋转字符串
    字符串面试题系列之二:连续最长数字串
  • 原文地址:https://www.cnblogs.com/weixuqin/p/9530605.html
Copyright © 2011-2022 走看看