Centos8安装MySql,完美解决

  1. 本文使用yum安装mysql

  2. linux版本为 centos 8

    参考:

    MySQL官网yum源

    MySQL官网Linux-yum安装Mysql

    CentOS 8 yum安装软件时,提示无法从AppStream下载

    centos 7 安装 mysql8 以及遇到的问题的解决

    navicat连接mysql报错1251的解决方法

    如果在本文遇到困惑和问题,可参考以上文档和文章。

    本文经过作者实践,可放心使用

1.去MySQL官网

我们使用yum安装MySQL,

官网

Centos8安装MySql,完美解决_第1张图片

你可能发现了这不是MySQL8的吗,我想装其它版本怎么说?

后续操作表明:mysql80-community-release-el8-3.noarch.rpm只包含MySQL8,所以你们可以试试6和7

Centos8安装MySql,完美解决_第2张图片

ok,就它了:mysql80-community-release-el8-3.noarch.rpm

image-20220304213243334

2. 安装

  1. 第一步:下载

    wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm
    
    image-20220304223246485
  2. 第二步:安装

yum install mysql80-community-release-el8-3.noarch.rpm

报错:

Centos8安装MySql,完美解决_第3张图片

这是centos8的问题,小插曲,一起解决

解决bug

这个问题的原因是:centos8官方已经停止提供服务,相应的yum源也已经移到归档源

比较有意思的是,阿里云的服务器的yum源好像改为了腾讯的

  1. 清理yum缓存

    yum clean all
    
  2. 重建缓存

    yum makecache
    

    还是报同样的错!!!

  3. 查看CentOS-Base.repo

    cat /etc/yum.repos.d/CentOS-Base.repo
    
    Centos8安装MySql,完美解决_第4张图片

    复制过去:

    [BaseOS]
    name=Qcloud centos OS - $basearch
    baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/BaseOS/$basearch/os/
    enabled=1
    gpgcheck=1
    gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-Official
    
  4. 打开CentOS-AppStream.repo,注释掉原有内容,并插入新内容

    vim /etc/yum.repos.d/CentOS-AppStream.repo
    
    Centos8安装MySql,完美解决_第5张图片

    复制进去:

    [AppStream]
    name=Qcloud centos AppStream - $basearch
    baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/AppStream/$basearch/os/
    enabled=0
    gpgcheck=1
    gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-Official
    
  5. 重建缓存

yum makecache
image-20220304222427095

3.解决bug后再来yum install

第一步:安装

yum install mysql80-community-release-el8-3.noarch.rpm
Centos8安装MySql,完美解决_第6张图片

都y就行了

第二步:查看该yum源支持哪些版本

默认开启的是MySQL8

yum repolist all | grep mysql

…,mysql80-community-release-el8-3.noarch.rpm这个是只有MySQL8的

Centos8安装MySql,完美解决_第7张图片

第三步:如果你的支持MySQL其它版本

可通编辑配置,以禁用或启用某个版本

vim /etc/yum.repos.d/mysql-community.repo
Centos8安装MySql,完美解决_第8张图片

修改enable即可,0代表禁用,1代表启用

如我这里:

Centos8安装MySql,完美解决_第9张图片

大概就是这样玩的

下面这个命令可以查看你开启了哪些

yum repolist enabled | grep mysql

第四步:安装

安装过程会询问你,一直y即可

yum install mysql-community-server

image-20220304225828109

第五步:启动、查看、开机自启

启动MySQL:

systemctl start mysqld

查看MySQL状态:

systemctl status mysqld
Centos8安装MySql,完美解决_第10张图片

开机自启:

# 开机自启
systemctl enable mysqld
# 重新加载系统配置,使开机自启立马有效
systemctl daemon-reload

登录MySQL8

MySQL较大的变动就是,第一次安装会给root用户一个临时密码,我们需要拿到这个临时密码:

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

image-20220304231718338

还有一种查看默认密码的方式:

vim /var/log/mysqld.log

Centos8安装MySql,完美解决_第11张图片

ok,拿到默认密码后,登录:

会提示你输入密码,将密码复制即可

mysql -u root -p

Centos8安装MySql,完美解决_第12张图片

改密码

  1. 改密码,

需要知道的是: mysql新的安全机制要求,mysql的密码必须包含英文大小写、数字以及特殊字符

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'

image-20220304233214745

刷新:

flush privileges;

远程连接

  1. 换库

    use mysql;
    
  2. 查看数据库用户

    select user,host from user;
    

    Centos8安装MySql,完美解决_第13张图片

可以看到,root用户的host未localhost,这意味着root用户只能在本机连接数据库。

所以我们需要将他改为所有机器都能连:(或者指定为ip)

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

Centos8安装MySql,完美解决_第14张图片

因为:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 由于用的是破解版的navicat,所以只能用第二种方法解决了

修改密码,并且不对密码加密:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

修改完成,退出:

exit

image-20220304234610158

远程连接测试

服务器防火墙记得开放3306

Centos8安装MySql,完美解决_第15张图片

为了写这篇博客,拿了一台服务器安装MySQL。写到这里时已经凌晨10分,两个小时吧。只是为了自己有一份博客,需要的时候有得看,也希望能帮到各位,晚安。

更新记录

2022.5.11
由于之前gitee图床增加了防盗链导致很多博客图片失效。
此次更新,更换了图片地址

你可能感兴趣的:(Linux服务器,centos,linux,sql,安装)