美文网首页
远程服务器安装MySql 8 并用Navicat连接遇到的坑

远程服务器安装MySql 8 并用Navicat连接遇到的坑

作者: 男卅_卅 | 来源:发表于2019-04-30 13:39 被阅读0次
    • 环境:
      CentOS 7
      MySql 8
      Navicat 12

    一、在服务器上安装MySql

    1. yum仓库下载MySql:
      sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
    2. yum安装MySql:
    sudo yum install mysql-community-server
    
    1. 启动MySql服务:
    sudo service mysqld start
    
    1. 检查MySql服务状态:
    sudo service mysqld status
    
    1. 查看初始密码(如无内容直接跳过):
    sudo grep 'temporary password' /var/log/mysqld.log
    
    • 注:按照上面的步骤安装肯定会有初始密码的,如果没有显示可以编辑/var/log/mysqld.log文件查看以下是否有内容。
    1. MySql登录:
    mysql -uroot -p
    

    回车后要输入密码,密码就是第五步查询的零时密码。

    1. 修改root登录密码:
    ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
    
    • 其中‘密码‘就是你随意输入的密码,但这里有个坑,mysql5.7.6以后废弃了user表中的passqword字段和password()方法,用authentication_string替代password。所以凡是利用password和password()修改密码的都不正确。
    • 还有就是用临时密码登录后,必须马上修改密码,不然会报错:
    mysql> select user();
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    
    • 如果只是修改一个简单的密码,会报以下错误:
    mysql> ALTER USER USER() IDENTIFIED BY '123456';
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    
    • 这也是一个坑,mysql8.0以上密码策略限制必须要有大小写字母加数字和特殊符号,长度必须是八位以上。
    • 设置密码的语句如下:
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码(必须包含:数字大小写字母特殊字符)'; 
    
    1. 测试密码是否设置成功:
      输入quit退出mysql,重新执行2步骤,输入新密码登录。

    二、远程连接授权

    有兴趣的同学可以去看一下官方的远程授权说明。

    • 重点:MySql安装完成后只支持localhost访问。我们必须设置一下才可以远程访问。
    • 又是一个坑,在网上找的大多数命令,你会发现输入后会报错,如下:


      image.png
    • 所以我给一个简单的方法,我也是安装了四五遍才找到的方法。
      可以执行如下命令修改远程连接权限:
    mysql> update user set host = "%" where user='root';
    

    然后在查看用户权限:

    select host, user, authentication_string, plugin from user;
    
    image.png

    你会发现,root的host字段变成了’%‘,这就说明可以进行远程连接了。

    三、本地Navicat远程连接mysql

    Navicat连接远程mysql8.0会有问题,这也是一个坑。

    • 如果你的Navicat版本较新经过以上步骤应该能连接上,连接时主机名或IP地址填你服务器的公网IP,用户名默认root,密码自己设置的。
    • 如果你的Navicat版本较低,就会比较麻烦,篇幅较多我就不详写了,可以参考https://blog.csdn.net/jinhaijing/article/details/83421189解决。

    相关文章

      网友评论

          本文标题:远程服务器安装MySql 8 并用Navicat连接遇到的坑

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