Linux_04-Centos7上Mysql8的安装

Centos7上Mysql8.0的安装

本节要解决的两个问题:
问题一:如何安装最新版的Mysql?
问题二:yum安装镜像源问题(该死的墙墙,不然这个问题根本不存在)?

带着提出的两个问题,咱们进入这一小节的讲述

解决问题一(配置Mysql安装源)

简单介绍一下Mysql:
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
优点:
        易用:
                很容易安装。第三方工具,包括可视化工具,让用户能够很容易入门。
        功能丰富:
                MySQL支持关系型数据库应该有的大部分功能——或者直接支持、或者间接支持。
        安全:
                支持很多安全特性,有些非常高级,并且是内置于MySQL中。
        可扩展也非常强大:
                MySQL能够处理大量数据,并且在需要的时候可以规模化使用。
        快速:
                放弃某些标准让MySQL能够非常高效、简捷地工作,因而速度更快。
缺点:
        已知限制:
                MySQL从一开始就没有打算做所有事情,因而它在功能方面有一定的局限性,并不能满足一些先进应用程序的要求。
        可靠性问题:
                MySQL对某些功能(例如引用、事务、审计等)的实现方式使得它与其他的关系型数据库相比缺少了一些可靠性。
        开发停滞:
                尽管MySQL依然是一款开源产品,但是自从它被收购之后人们就对其开发进展有很多抱怨。
                需要注意的是有一些基于 MySQL的、完整集成的数据库在标准的MySQL之上附加了其他价值,例如MariaDB。

  • ①Mysql官网寻找最新的镜像源

直接登录官网下载你需要的版本https://www.mysql.com/
mysql官网
下载链接
Centos选择Yum仓库文件
选择Linux对应的版本
鼠标放在上面,右键复制链接地址

我找到的Mysql安装源地址为:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
也可以直接用我的地址,也可以用自己的

一个小插曲

  • ①使用wget命令下载Mysql安装源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm #下载Mysql安装源

未找到wget

  • ②安装wget报错
yum install wget #安装wget

安装wget遇镜像源问题

咱们简单分析一下问题出现在那里了?
首先咱们环境里没有wget,本能的反应那就去 yum install wget
这时我们发现根本连接不上安装源
这时我们想到了,开始的时候提出的两个问题,我们大胆的猜测,由于墙的原因,
yum的大多数安装源被墙掉了,接下来咱们先来解决第二个问题,yum安装源的问题

调转船头,咱们先来解决问题二

简单介绍一下yum:
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

  • ①备份 镜像
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

删除并且备份默认镜像源

  • ②进入 镜像目录
cd /etc/yum.repos.d/

进入镜像目录

  • ③下载163 镜像
由于没有wget 咱们用一个笨办法
163镜像官方帮助:http://mirrors.163.com/.help/centos.html
镜像下载地址:http://mirrors.163.com/.help/CentOS7-Base-163.repo

下载163镜像
FZ对应关系
拖过来
拖过来之后
有同学要问了,Mysql安装源也可以这样呀,理论上是可以的,但小伙伴们,你们不觉得这样做,配不上咱们程序猿这高贵典雅的气质吗?

  • ④修改163镜像文件名
mv CentOS7-Base-163.repo CentOS-Base.repo

修改163镜像名称

  • ⑤生成缓存
yum clean all #清理缓存
yum makecache #生成新的缓存

先清理,后生成缓存

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

到这里咱们的问题二顺利解决了,赶快去试一下成果吧!!!

船头调转回来,集中火力解决问题一

一、排除万难,正式进入安装过程

  • ①继续安装wget
cd
yum install wget

继续安装wget

  • ②下载mysql8.0镜像源文件
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

下载mysql8.0镜像源文件

  • ③安装mysql8.0安装源
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

安装mysql8.0安装源

  • ④开始安装Mysql8.0
yum install mysql-server

开始安装Mysql8.0
接下来,就是无数杯咖啡的闲暇时光,只要不报错,就耐心的等等吧,抿一口,生活的美好

  • ⑤选择y继续吧

当然要继续呀
这时候大概就是一杯咖啡的闲暇时光了,生活依旧美好···

二、安装完成,开始初始化配置

  • ①查看Mysql状态
systemctl status mysqld.service

查看mysql状态

  • ②启动Mysql
systemctl start mysqld.service

启动mysql

  • ③初始化密码查看
tail -f  /var/log/mysqld.log

查看初始密码

  • ④默认密码登录
mysql -uroot -p

默认密码登录Mysql

  • ⑤修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Gem1234@';

修改默认密码

  • ⑥创建一个新用户
create user 'wade'@'%' identified with mysql_native_password by 'Gem1234@';

创建一个新用户

  • ⑦授权所有库表+所有权限给wade在任何地方访问
grant all privileges on *.* to 'wade'@'%';

授权所有库表+所有权限给wade在任何地方访问

  • ⑧刷新授权
flush privileges;

刷新授权

  • ⑨退出MySQL shell端
exit

退出MySQLshell端

三、初始化完成,验证咱们的新账户

  • ①wade账户登录
mysql -uwade -p

wade账户成功登录

  • ②可以查看到原本默认的数据库
show databases;

可以查看到原本默认的数据库

  • ③创建数据库
create database deepmovie charset utf8;

创建数据库

  • ④删除数据库
drop database deepmovie; 

删除数据库

  • ⑤开机自启动
systemctl enable mysqld.service

开机自启动

至此,Mysql8.0的安装和基础配置就结束了,可以开开心心的使用了

三、Navicat连接Mysql

  • ①Navicat下载

直接登录官网下载你需要的版本https://www.navicat.com.cn/
Navicat官网
免费试用
选择相对应的版本
下载好了,双击安装,一路next,没得怕

  • ②第一次尝试连接

新建连接
连接报错

连接报错了,稳住,别慌,我们能赢
好,咱们先来分析一波
根据提示,不难看出是Centos拒绝了
①mysql服务器未开启
②bind-address 对于连接的ip做了一个限定
③数据库用户只能在指定的ip上连接
④防火墙
前边三个跟着我配置的都不会有问题,咱们这个错误一定是出现在了防火墙上,
而且大多数情况下是防火墙的问题,可以跳过前面的三个步骤,直接进行防火墙的检查。

  • ③解决连接失败问题
service firewalld status #查看防火墙状态

查看防火墙状态

firewall-cmd --list-port #查询有哪些端口是开启的

查询开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent #开启3306端口
firewall-cmd --reload #重启防火墙
firewall-cmd --list-port #查询有哪些端口是开启

开启3306端口

  • ④第二次尝试连接

连接成功
再一次,连接你看是不是成功了,至此咱们的Mysql连接已经完全成功了

四、附录(常用命令)

启动和管理mysql:
    systemctl start mysqld.service #启动
    systemctl stop mysqld.service  #关闭
    systemctl restart mysqld.service #重启
    systemctl status mysqld.service  #查看状态
    systemctl enable mysqld.service  #开机自启动
    systemctl disable mysqld.service  #开机不自启动
注:
    rpm -qa | grep mysql #搜索查询
    rpm -e mysql80-community-release-el7-3.noarch #卸载
    登录数据库:mysql -uroot -p
    导出数据库:mysqldump -uroot -p paysystem > /root/paysystem.sql
    导入数据库:mysql -uroot -p --default-character-set utf8 paysystem < /root/paysystem.sql

开启端口
    查看防火墙状态:
    service firewalld status
    [root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
    查询端口号80 是否开启:
    [root@centos7 ~]# firewall-cmd --query-port=80/tcp
    重启防火墙:
    [root@centos7 ~]# firewall-cmd --reload
    查询有哪些端口是开启的:
    [root@centos7 ~]# firewall-cmd --list-port
    systemctl stop firewalld.service  # 关闭防火墙,重启会重新开启
    #或者
    systemctl disable firewalld.service  #禁止开机启动防火墙

Linux常用命令:
    netstat -tnlp  #查看当前开放的端口
    pwd #查看当前路径
    cd #切换到指定目录

这些命令,都是非常基础的命令,小伙伴快自己动手去熟练一下吧···

下一节咱们会讲解,Mysql的好朋友Redis的安装和基础配置

THE END
分享
二维码
打赏
< <上一篇
下一篇>>