zoukankan      html  css  js  c++  java
  • navicate 连接mysql8.0,个人踩坑问题汇总

    navicate 连接mysql8.0,个人踩坑问题汇总
    本文目录:
    1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上
    2:mysql启动命令问题
    3:navicate 运程连接MySQL8需要修改root的host localhost 为%

    详细如下:
    1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上 

    我们在安装MySql8.0+的版本时MySql将会询问我们是否选择全新的身份验证方式,如下图

    ⒈第一个是MySql推荐我们使用的强密码加密模式来进行身份验证

      MySql8支持基于SHA256改进的更强的密码身份验证方法。建议以后所有新安装的MySql Server都使用此方法。

      注意:服务器端的这个新身份验证插件需要新版本的连接器和客户端,这些连接器和客户端添加了对MySql8.0新的默认身份验证支持(caching_sha2_password 密码身份验证)

      目前,MySql 8.0连接器和使用libmysqlclient8.0的社区驱动程序支持这个新方法。

      如果无法更新客户端和应用程序以支持此新身份验证方法,MySql8.0服务器可以配置为使用旧的MySql身份验证方法。

    使用旧的身份验证方法(保留MySql5.x兼容性)

      仅在以下情况下才应考虑使用旧的MySql 5.x旧身份验证方法:

        如果无法更新应用程序来使用MySQL8及启用新的连接器和驱动程序

        无法重新编译现有的应用程序

        尚未提供更新的特定语言的连接器或驱动程序

      安全指南:如果可能,我们强烈建议采取必要步骤将应用程序、库和数据库服务器升级到新的更强大的身份验证这种新方法,因为它将大大提高您的安全性。

    2:mysql启动命令问题
        a) cmd命令窗口中,输入mysql 提示不是内部命令

        解决:没有把mysql下的bin路径添加到系统变量path

        原因:未配置环境变量

        解决方法:将mysql安装目录下的bin目录,添加到系统变量中
       b) net stop/start mysql 提示服务名无效
        解决:在cmd-->services.msc 找到服务启动名为:mysql80
        也就是说net start mysql80 有效,

    3:下文来源:https://www.cnblogs.com/weixuqin/p/9530605.html
    Navicat 远程连接 MySQL8问题汇总:

    相信大家都有在远程服务器上进行开发吧,其中 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 啦。

    分类: 数据库
    做产品的程序,才是好的程序员!
  • 相关阅读:
    Shell脚本学习笔记2
    Shell脚本学习笔记1
    华大MCU硬件SMBus的应用
    华大MCU的应用中的问题记录
    STM32定时器输入捕获功能应用——超声波模块
    STM32定时器应用——PWM
    利用KEIL的软件仿真的逻辑分析仪功能观察GPIO的波形
    周期性过程数据通信和非周期性邮箱数据通信
    JDBCUtils
    反射
  • 原文地址:https://www.cnblogs.com/asplover/p/11718443.html
Copyright © 2011-2022 走看看