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安装源地址为: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报错
yum install 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
有同学要问了,Mysql安装源也可以这样呀,理论上是可以的,但小伙伴们,你们不觉得这样做,配不上咱们程序猿这高贵典雅的气质吗?
- ④修改163镜像文件名
mv CentOS7-Base-163.repo CentOS-Base.repo
- ⑤生成缓存
yum clean all #清理缓存
yum makecache #生成新的缓存
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
到这里咱们的问题二顺利解决了,赶快去试一下成果吧!!!
船头调转回来,集中火力解决问题一
一、排除万难,正式进入安装过程
- ①继续安装wget
cd
yum install wget
- ②下载mysql8.0镜像源文件
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- ③安装mysql8.0安装源
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
- ④开始安装Mysql8.0
yum install mysql-server
接下来,就是无数杯咖啡的闲暇时光,只要不报错,就耐心的等等吧,抿一口,生活的美好
- ⑤选择y继续吧
这时候大概就是一杯咖啡的闲暇时光了,生活依旧美好···
二、安装完成,开始初始化配置
- ①查看Mysql状态
systemctl status mysqld.service
- ②启动Mysql
systemctl start mysqld.service
- ③初始化密码查看
tail -f /var/log/mysqld.log
- ④默认密码登录
mysql -uroot -p
- ⑤修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Gem1234@';
- ⑥创建一个新用户
create user 'wade'@'%' identified with mysql_native_password by 'Gem1234@';
- ⑦授权所有库表+所有权限给wade在任何地方访问
grant all privileges on *.* to 'wade'@'%';
- ⑧刷新授权
flush privileges;
- ⑨退出MySQL shell端
exit
三、初始化完成,验证咱们的新账户
- ①wade账户登录
mysql -uwade -p
- ②可以查看到原本默认的数据库
show databases;
- ③创建数据库
create database deepmovie charset utf8;
- ④删除数据库
drop database deepmovie;
- ⑤开机自启动
systemctl enable mysqld.service
至此,Mysql8.0的安装和基础配置就结束了,可以开开心心的使用了
三、Navicat连接Mysql
- ①Navicat下载
直接登录官网下载你需要的版本https://www.navicat.com.cn/
下载好了,双击安装,一路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 #查询有哪些端口是开启
- ④第二次尝试连接
再一次,连接你看是不是成功了,至此咱们的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的安装和基础配置
共有 0 条评论