Centos 7.x 获取,安装以及客户端连接MySQL8.0教程

极客环境搭建手册 同时被 2 个专栏收录
29 篇文章 3 订阅
12 篇文章 0 订阅


这篇博文记录下如何在Centos 7.x 获取,安装以及客户端连接MySQL8.0 。


0x01 Centos 7.x 获取,安装以及客户端连接MySQL8.0教程

1.1 检查MySQL 是否支持运行在你的操作系统

我们要知道一点的是,MySQL 虽然流行但不是所有的操作系统都适用安装MySQL 的。

MySQL 支持的平台我这里挑选几个比较常见的贴出来
在这里插入图片描述
在这里插入图片描述

更多请参考官方文档 Supported Platforms: MySQL Database

1.2 选择安装哪一个MySQL版本?

MySQL 有很多版本,安装之前我们需要确定下想安装的是开发版本还是正式的GA版本。

1.2.1 DEV or GA?

  • 开发版本包含最新的一些功能,但是不建议生产环境使用。
  • GA 版本是正式发布的稳定版本,适用于生产环境使用。

一般来说,建议我们使用MySQL正式发布稳定的GA版本。

在windows 上可以使用 the MySQL Installer 进行安装。

  • windows 上安装MySQL 8.0 需要.NET Framework 4.5.2或更高版本
  • 下载地址: https://dev.mysql.com/downloads/installer/ 这里指的注意的是两个区别
    • Web: mysql-installer-community-web-VERSION.N.msi 在线安装版本
    • Full or Current Bundle: 比如mysql-installer-community-VERSION.N.msi 指的是离线安装版本

完整版参考:Which MySQL Version and Distribution to Installl


1.3下载想要安装的二进制文件

1.3.1 RPM方式安装(推荐)

  • 经过测试发现直接下载wget命令或其他方式下载单个rpm方式安装会报依赖找不到问题,最终使用这种方式成功。
  • 官方参考文档

输入如下命令查看当前操作系统内核版本以及位数

uname -a

如下所示,我们可以看出当前操作系统是 x86_64 架构
在这里插入图片描述
输入如下命令我们可以看到操作系统的型号

cat /etc/centos-release

如下所示,可以看出当前操作系统是CentOS Linux release 7.7.1908 (Core)

在这里插入图片描述
因此勾选
在这里插入图片描述
我们下载这个RPM Bundle 版本

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
在这里插入图片描述
因为这个版本里面包含了其他所有的RPM 源。

下载完成解压如下所示:
在这里插入图片描述
然后通过XFTP上传到/opt 文件夹下

1.4. 将软件库镜像安装到本地

下载好软件库镜像后,我们需要将其安装到本地仓库。

在下载好的rpm 的当前目录执行如下命令

sudo yum localinstall mysql-comunity-*.rpm

1.5 旧版本清理篇

在安装之前为了避免冲突或之前错误的安装,需要对旧版本可以执行清理。

1.5.1 删除MariaDB的文件

由于 在CentOS中默认安装有MariaDB,所以如果我们不删除MariaDB文件的话,安装mysql时可能会发生冲突

  • 使用rpm 命令查找出要删除的mariadb文件
rpm -pa | grep mariadb

如果回显中有 mariadb-libs-5.5.56-2.el7.x86_64

执行删除

yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

注:
网上还有一种方法是这样

rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps 

1.5.2 删除错误的MySQL文件

  • 查看系统是否已经安装了mysql数据库
rpm -qa | grep mysql
  • 删除已经安装的文件
yum remove mysql-xxx-xxx
  • 找出所有的mysql的配置文件(MySQL卸载不会自动删除配置文件,需自行清理)
find / -name mysql
  • 依次删除这些配置文件
rm -rf /var/lib/mysql

1.6 查看配置可以安装的软件(可跳过)

刚才仓库镜像已经安装完毕,我们可以看下当前都有哪些软件可以安装。

yum repolist all | grep mysql

执行成功如下所示:
在这里插入图片描述

  • 在MySQL Yum存储库中,不同版本的MySQL Community Servers托管在不同的子存储库中。
  • 默认情况下,默认启用最新的GA系列(当前为MySQL 8.0)的子存储库,而所有其他系列(例如,MySQL 8.0系列)的子存储库均被禁用。
  • 如果想修改这个开启和禁用,在此之前,我们需要安装一个类库,否则会提示找不到yum-config-manger 命令。
sudo yum install yum-utils -y

禁用MySQL 5.7,输入如下命令:

sudo yum-config-manager --disable mysql57-community 

使用MySQL 8.0,输入如下命令:

sudo yum-config-manager --enable mysql80-community 

验证是否已使用以下命令替换了正确的子存储库并检查其输出

yum repolist enabled | grep "mysql.*-community.*"

这个命令会显示所有enabled 启用的MySQL 组件,执行成功如下所示:
在这里插入图片描述

1.7 安装MySQL

方法一(安装各种依赖找不到)

这种方式存在问题,会提示各种依赖找不到

按照如下顺序安装MySQL各个组件

  • mysql-community-server
  • mysql-community-client
  • mysql-community-libs
  • mysql-community-common
  • mysql-community-libs-compact

通过以下命令安装MySQL(对于启用了dnf的系统,将命令中的yum替换为dnf):

sudo yum install mysql-community-server

该软件包用于MySQL服务器(mysql-community-server)和运行服务器所需组件的软件包,包括客户端的软件包(mysql-community-client),常见错误消息以及客户端和服务器的字符集(mysql-community-common)和共享客户端库(mysql-community-libs)。

方法二(亲测可行)

需要使用上面的下载的RPM Bundle 压缩包,然后解压到/opt 目录下,执行如下命令才得行。

  • 服务端和客户端都安装,执行如下命令
sudo yum install mysql-community-{server,client,common,libs}-*
  • 只安装客户端
sudo yum install mysql-community-{client,common,libs}-*

1.8 开启MySQL Server

开启MySQL Server 需要输入如下命令:

systemctl start mysqld

1.9 获取初始化密码

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

打印输出如下:

2019-11-28T16:54:56.521130Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: TKdJJ*urZ2k0

我们记下临时密码 TKdJJ*urZ2k0

1.10 尝试登陆MySQL

mysql -uroot -p

会提示输入密码,我们输入刚才出现的临时密码即可。

登陆成功后如下所示:
在这里插入图片描述

1.11 更新密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

执行如上命令后就把数据库密码修改为MyNewPass4!

默认情况下安装validate_password。
validate_password实现的默认密码策略至少需要一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码总长度至少为8个字符。

1.12 阿里云控制台配置安全组

为了安全性,阿里云服务器默认需要手动配置对外提供的端口的。

1.12.1 登录阿里云控制台,找到安全组

在这里插入图片描述
点进去可以看到如下所示:
在这里插入图片描述

1.12.2 入方向

在这里插入图片描述

1.12.3 出方向

安全组出方向默认允许所有访问,即从安全组内ECS访问外部都是放行的。

在这里插入图片描述

1.13 配置MySQL支持远程登录

MySQL 默认是不支持远程登录访问的,需要配置下。

MySQL 8.0 版本更新方法如下:

  • 1.命令行模式下,输入账号密码登录进入
use mysql;

2.Mysql默认不允许远程登录,所以需要开启远程访问权限

select user,authentication_string,host from user;

3.更新localhost 为任意IP

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

4.刷新策略

FLUSH PRIVILEGES;

5.建议重启下MySQL 服务

停止MySQL服务

systemctl stop mysqld

启动MySQL服务

systemctl start mysqld

如果是低版本的MySQL 5.7 ,请参考我的另一篇博文

解决方案之配置MySQL远程登陆/访问

1.14 使用客户端远程连接MySQL

Navicat Premium 12 连接测试方法如下:
在这里插入图片描述

如果还不行,可以关闭防火墙

systemctl stop firewalld.service 

或配置防火墙指定开放哪个端口

firewall-cmd --permanent --add-port=3306/tcp --zone=public

更新
新版本据说默认使用了加密方法验证登录,如果不行,用其他客户端是无法修改的。

我们可以先使用MySQL workbench 打开链接,执行如下两条SQL 命令即可

1.15 修改默认登录密码加密规则

#修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 

#更新密码(mysql_native_password模式)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '{NewPassword}';

0x02 Centos7 卸载MySQL

此种方式适用于通过yum 安装的mySQL.

  • 查看通过yum安装了mysql哪些东西
rpm -qa |grep -i mysql
  • 卸载yum安装的mysql相关的一切
yum remove mysql*
  • 进入Linux根目录
cd /
  • 查找mysql 相关的文件夹
find / -name mysql
  • 根据提示删除查找到的相关文件夹
rm -rf /var/lib/mysql*
  • 删除MySQL系统日志文件
rm -rf /var/log/mysqld.log

0x03 参考资料

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值