美文网首页
mysql 开启 远程连接

mysql 开启 远程连接

作者: 张云飞Vir | 来源:发表于2019-11-11 19:08 被阅读0次

    1.背景

    安装好 mysql 后,一般会使用客户端连接(必须Navcat)。本文描述了怎么设置远程连接。

    2.思路

    1. 修改 root 账户的 host 等于 %
    2. 防火墙增加3306端口
    3. 处理密码的加密方式

    3.操作

    3.1 修改 root 账户的 host 等于 %

    先看下 用户表的信息

    use mysql;
    select host, user from user;
    
    image.png

    注意:这里的 root 账户的 host 的值是 localhost

    开始修改,执行:

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

    修改后:

    image.png

    注意:这里的 root 账户的 host 的值变成了 %
    % 这个百分号表示的意思是任意机器都可以连接,也可以缓存你机器的固定ip。

    3.2 重启 mysql

    systemctl stop mysqld.service
    systemctl start mysqld.service
    

    3.3 为防火墙添加 3306 端口

    # 为防火墙添加 3306 端口
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    # 重启防火墙
    firewall-cmd --reload
    

    高高兴兴的打开连接,发现:does not support authentication protocol

    image.png

    不得已,继续开始设置

    select host,user,plugin,authentication_string from mysql.user;

    3.4 处理密码的加密方式

    发生这个问题的原因是 密码的加密方式 的问题。

    先看下现在的密码的加密方式

    select host,user,plugin,authentication_string from mysql.user;
    

    注意:下图中的 plugin = cacheing_sha2_password 方式

    image.png

    执行命令修改密码,顺道更改加密方式

    ALTER USER 'root'@'%' IDENTIFIED WITH  mysql_native_password BY 'Spri636!';
    

    看下修改后样子

    执行 select host,user,plugin,authentication_string from mysql.user;

    image.png

    注意:上图中的 plugin = cacheing_sha2_password 方式

    3.5 完成

    相关文章

      网友评论

          本文标题:mysql 开启 远程连接

          本文链接:https://www.haomeiwen.com/subject/xlqxictx.html