欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7安装mysql8

程序员文章站 2022-03-12 07:57:39
...
  1. 先去官网下载mysql的repo源并安装,下载地址如下:

    地址:https://dev.mysql.com/downloads/
    下载:
    wget  https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
    安装:
    rpm -ivh mysql57-community-release-el7-11.noarch.rpm
    建立缓存:
    yum clean all
    yum makecache
    
  2. 安装MySQL

    第一步: 查看yum仓库中mysql版本

    yum repolist all | grep mysql
    

    接下来可以看到 MySQL 5.*为禁用状态,而MySQL 8.0为启用状态;

    第二步:使用 yum-config-manager 命令修改相应的版本为启用状态,默认为最新版本,根据需要安装的版本进行修改。(安装mysql8直接忽略此步)

    yum-config-manager --disable mysql80-community #关闭8.0版本
    yum-config-manager --enable mysql57-community #开启5.7版本
    

    或者直接打开编辑器修改repo文件,将相应版本下的enabled改成 1 即可。

    cat /etc/yum.repos.d/mysql-community.repo 
    

    第三步:安装mysql, 命令如下:

    yum install mysql-community-server
    

    开启mysql 服务

    systemctl start mysqld
    

    第四步:获取初始密码登录mysql

    mysql在安装后会创建一个[email protected]账户,并且把初始的密码放到了/var/log/mysqld.log文件中,查看密码:

    cat /var/log/mysqld.log | grep password
    

    使用初始密码登录mysql

    mysql -u root -p  #会提示输入密码,输入log中的密码。
    

    修改初始密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc_1234';
    

    #注意位数和种类至少大写+小写+符号+数字

    ########################以下设置可自主选择#######################
    修改MySQL密码设置

    查看当前的密码验证策略,输入:

    SHOW VARIABLES LIKE 'validate_password%';             #策略说明
    

    validate_password.length 是密码的最小长度,默认是8,比如我们把它改成6,输入:

    set global validate_password.length=6;
    

    validate_password.policy 验证密码的复杂程度,我们把它改成0,输入:

    set global validate_password.policy=0;
    

    validate_password.check_user_name 用户名检查,开通此项会导致用户名和密码不能设置相同,关掉输入:

    set global validate_password.check_user_name=off;
    

    再次执行修改密码的命令,输入:

    alter user 'root'@'localhost' identified by '123456';
    

    密码修改成功,此时如果用mysql客户连接会报不允许连接的错误,那是因为没有远程访问的权限

    配置远程访问
    查看MySQL默认用户:
    输入:use mysql;
    输入:select host, user, authentication_string, plugin from user;
    此时root的host是localhost,不是%,将localhost改为%:

    update user set host='%' where user='root';
    

    再次查看:select host, user, authentication_string, plugin from user;

    客户端连接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 '123456';
    加密方式就改成了mysql_native_password。

    如果客户端连接mysql还报错
    查看防火墙状态,关闭防火墙,或者开放3306端口。

相关标签: SQL