• centos7 安装MySQL8


    转自:https://blog.csdn.net/qq_39313596/article/details/9071518

    一、下载mysql yum包

    官方下载地址:https://dev.mysql.com/downloads/repo/yum/
    或者直接使用wget下载

    wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
    

    二、安装软件源

    rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
    

    三、安装mysql

    yum install mysql-community-server
    

    安装过程中如果出现y/n的话就一直y就行了,如果嫌麻烦可以用这个命令来安装

    yum install -y mysql-community-server
    

    四、启动&配置

    #启动

    service mysqld start

    #查看运行状态

    service mysqld status

    看到绿色的running代表已经启动成功,然后mysql在5.6之后的版本都会默认生成一个默认密码,是root用户的。通过如下命令查看密码

    grep 'temporary password' /var/log/mysqld.log
    

    用粉色框标识出来的便是默认设置的密码

    查看密码.png

    五、进入mysql

    执行完如下命令之后输入默认密码

    mysql -u root -p
    

    六、创建用户和分配权限

    #由于mysql8新提供了一种密码加密方式caching-sha2-password,且为默认,目前很多客户端都不支持,所以我们在创建新角色用户的时候可以指定其为mysql_native_password,原来的root账户等不去做任何改变(无形之中增加了安全性有木有)
    #创建一个test用户(一般情况下root用户只在本地环境下使用),密码是29dIg;2^,数据库的密码最好设置得连自己都记不住。
    
    CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '29dIg;2^';
    
    #授权数据库给用户,并设置所有ip都可以远程连接
    
    #如果只授予用户某些数据库的话就把*.*改成 数据库名称.* 意思就是 数据库.表
    
    #如果只授予用户某些权限的话,比如只能读不能写,就把GRANT ALL改成GRANT SELECT
    
    GRANT ALL ON *.* TO 'test'@'%';
    
    #当然,你也可以撤销授权,用法和授权几乎都是一样的。
    
    REVOKE ALL ON *.* from 'test'@'%';
    
    #最后使设置立即生效
    
    flush privileges
    

     

    七、配置远程访问

    用mysql客户连接报不允许连接的错误,那是因为没开通远程访问的权限哦。

     

    百度上基本说执行

    GRANT ALL ON *.* TO 'root'@'%'; 就行了,但是一不下心报了个错:

     

    看下默认MySQL用户:

    use mysql;

    select host, user, authentication_string, plugin from user;

     

    发现root的host是localhost,不是%哦,那我们就加个host是%的root账号:

    CREATE USER 'root'@'%' IDENTIFIED BY 'root';

     

    再查下用户

    select host, user, authentication_string, plugin from user;

     

     

    可以看到已经新增了host为%的root用户

    然后再执行:

    GRANT ALL ON *.* TO 'root'@'%';

     

    成功了耶,嘿嘿。

    连接成功:

     

     

    7.navicat连接mysql

    用navicat连接mysql还是会报错:

     

    原因是mysql8的加密方式规则不一样,是caching_sha2_password

     

     

    把加密方式改成mysql_native_password就行了:

    ALTER USER '[用户名]'@'%' IDENTIFIED WITH mysql_native_password BY '[密码]';

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

     

    加密方式以及改成了mysql_native_password:

     

     

     

    这样就可以了哦。大功告成!

    八、总结

    官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,MySQL 8.0发行说明及特性

  • 相关阅读:
    JSP中 == 和equals的区别
    使用Cookie保存用户名密码,再次登陆时将Cookie用户名密码取出来并直接放置到用户名密码文本框中
    学习Java Web开发中遇到的问题,及其解决方法
    部署、测试、服务工作的经验记录
    Python基础--dict字典操作
    Python基础--dict字典
    Python基础--预留空 5
    Python基础--预留空 4
    Python基础--tuple 元组
    Python基础--预留3
  • 原文地址:https://www.cnblogs.com/yinminbo/p/11780656.html
Copyright © 2020-2023  润新知