美文网首页基础服务器配置和项目部署
Ubuntu 18.04 安装mysql 8.0 远程登录

Ubuntu 18.04 安装mysql 8.0 远程登录

作者: 搬砖的作家 | 来源:发表于2021-11-15 19:33 被阅读0次

    本文首发地址:开源实践网:Ubuntu 18.04 安装mysql 8.0 远程登录

    一 简介

    使用Ubuntu18.04安装完mysql 5.27以后,在部署项目的时候,偶遇一个比较恶心的bug,就是服务器部署项目无法连上数据库,并且一直无法解决,偶然间在网上看到mysql 5.27对Ubuntu18.04支持有问题,于是重置系统,然后重新安装mysql 8.0

    官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!

    1. 账户与安全
    2. 优化器索引
    3. 通用表表达式
    4. 窗口函数
    5. InnoDB 增强
    6. JSON 增强

    二 安装

    1. 下载deb包
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb
    
    1. 运行命令
    sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
    sudo apt update
    
    1. 安装mysql8
    sudo apt install mysql-server
    
    1. 输入root密码


      输入密码
    2. 密码加密方式选择建议(也是我画圈的那个)
      注:使用这种方式远程登录的软件需要最新,不然则选择另一个


      加密方式
    3. 查看mysql是否安装成功

     mysql -u root -p
    

    三 配置远程登录

    1. 登录mysql机器
    mysql -u root -p
    
    1. 切换到Mysql数据库
    mysql> use mysql
    
    1. 在 mysql 数据库的 user 表中查看当前 root 用户的相关信息
    select host, user, authentication_string, plugin from user;
    

    执行完上面的命令后会显示一个表格
    查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

    1. 授权 root 用户的所有权限并设置远程访问
    GRANT ALL ON *.* TO 'root'@'%';
    
    1. 创建一个用户,用来登录
    create user '用户名'@'%' identified by '密码';
    注: 密码必须要大写字符,特殊字符,数字 (为了安全)
    
    1. 刷新权限
    flush privileges;
    
    1. 访问数据库
      远程访问数据库的可视化工具比较多如:Navicat、SQLyog、MySQL workbench 等,我这里使用 Navicat
      输入访问的 host 和密码,报 2059 错误,这是因为 MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
      此问题有两种方法,一种是更新 Navicat 驱动来解决此问题,另一种是将 MySQL 用户登录的加密规则修改为 mysql_native_password,第一种方法我试过了没有起作用,我这里采用第二种方法。
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; 
    FLUSH PRIVILEGES; 
    

    相关文章

      网友评论

        本文标题:Ubuntu 18.04 安装mysql 8.0 远程登录

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