• linux(CentOS7.6)下安装mysql8.0并使用navicat远程访问


      上篇中2G内存服务器安装sql server失败了,这里我尝试使用mysql进行数据存储,简单点,直接用yum命令安装(在CentOS下,可以直接通过yum命令来安装数据库);在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

    1、创建mysql下载及安装目录(/usr/local/mysql)

     2、添加安装包

    wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
    sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
    

     3、安装/启动

    #安装
    sudo yum -y install mysql-community-server
    
    #启动服务
    sudo systemctl start mysqld
    
    #查看版本信息
    mysql -V

    4、链接mysql并设置root密码

    #1、查看MySQL为Root账号生成的临时密码
    grep "A temporary password" /var/log/mysqld.log
    
    #2、进入MySQL shell
    mysql -u root -p
    
    #3、修改密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mypwd123!';
    

     5、开放端口(供远程链接mysql使用)

    #开放端口
    firewall-cmd --add-port=3306/tcp --permanent
    
    #重新加载防火墙设置
    firewall-cmd --reload

     报错,提示防火墙未运行,基于安全考虑,还是开启防火墙比较好;

    ①查看防火墙状态(systemctl status firewalld):目前是dead

     ②开启防火墙(systemctl start firewalld),关闭防火墙命令为:systemctl stop firewalld;

    查看开放端口:firewall-cmd --list-ports

     开启之后再执行开放端口命令,开启成功之后,重新加载一次防火墙设置

     6、创建数据库及为该数据库配置远程访问账号(mysql80版本后不允许grant在授权的时候隐式创建用户,必须先创建用户)

    #新建本地用户
    CREATE USER 'test'@'localhost' IDENTIFIED BY 'Test@123456';
    
    #新建远程用户
    CREATE USER 'test'@'%' IDENTIFIED BY 'Test@123456';
    
    #新建数据库
    CREATE DATABASE testdb;
    
    #赋予指定账户指定数据库远程访问权限
    GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'%';
    
    #赋予指定账户对所有数据库远程访问权限
    GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
    
    #赋予指定账户对所有数据库本地访问权限
    GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';
    
    #刷新权限
    FLUSH PRIVILEGES;
    

    7、使用新创建的用户(已授权远程访问的用户),navicat for mysql远程链接:

     百度查找了下,出现这种情况的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,

    那么直接修改登录用户的加密规则即可:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;#修改加密规则
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 
    FLUSH PRIVILEGES; #刷新权限

    再次使用navicat链接,成功!

    参考资料

    https://cloud.tencent.com/developer/article/1333812

    https://blog.csdn.net/seventopalsy/article/details/80195246

  • 相关阅读:
    [POJ 1200]Crazy Search
    [来源不详]删数方案数
    noip搜索模拟题 骰子
    [SDOI2010]地精部落
    [HAOI2008]硬币购物
    BZOJ1009: [HNOI2008]GT考试
    BZOJ1830: [AHOI2008]Y型项链 & BZOJ1789: [Ahoi2008]Necklace Y型项链
    BZOJ1251: 序列终结者
    BZOJ3620: 似乎在梦中见过的样子
    BZOJ4477: [Jsoi2015]字符串树
  • 原文地址:https://www.cnblogs.com/wanggang2016/p/12148732.html
Copyright © 2020-2023  润新知