前言

现在开始就要进入MYSQL数据库的学习,在学习之前,先来安装一下MYSQL数据库

当前是在CentOS 8.2版本下安装MYSQL

安装MYSQL

1. 环境检查

停止服务

在安装MYSQL之前,要先检查一下系统内是否已经存在了数据库,如果存在就卸载掉,再进行安装MYSQL环境

在云服务器上可以内置了mariadb这样MYSQL的分支,我们可以先查看当前云服务器中舒服存在这样的服务:

ps -axj | grep mariadb

在这里插入图片描述

这里博主的环境中是不存在的;如果存在,就要先停止当前服务,停止所使用的命令是:

systemctl stop mariadb.service

停止完成后,再使用ps -axj | grep mariadb就查不到对应的进程了。

卸载安装包

停止了对应的服务,在系统中还是存在所对应的安装包的,这里就查询一下系统当前的安装包

rpm -qa | grep mariadb
rpm -qa | grep mysql

在这里插入图片描述

这里存在对应的安装包,要将其卸载掉,卸载所使用的命令:(root用户直接使用,普通用户使用sudo提权)

sudo yum remove mariadb

在这里插入图片描述

2. 安装Mysql

获取官方yum

卸载掉系统中自带的环境,现在就要从MYSQL官网中获取官方yum源。http://repo.mysql.com/

在官网在找到适合自己系统的版本,这里博主就安装mysql57-community-release-el7-8.noarch

Windows下载完成之后,就可以使用rz将下载好的文件传到云服务器上。

安装rz命令:yum install lrzsz

在这里插入图片描述

当然,这样也可以将文件拖拽到XShell中。

在这里插入图片描述

安装MYSQL yum源

现在将官方yum源传到云服务器上了,但是在系统中还是不存在该yum源的:

ls /etc/yum.repos.d/ -al

使用上述命令,列出系统中所有 YUM 软件源配置文件的详细信息

在这里插入图片描述

可以看到是不存在对应的MYSQL YUM源的。

安装yum源所使用的命名:

rpm -Uvh

在这里插入图片描述

安装成功之后,再查看系统中所有的YUM 源配置文件的详细信息

在这里插入图片描述

安装完MYSQL yum源之后,可以使用yum list | grep mysql列出所有带mysql字样的软件包(这里就不演示了)

安装MYSQL

做完了上述工作,就可以正式的按照MYSQL了,安装MYSQL使用的命令:(普通用户使用sudo提权)

yum install -y mysql-community-server

问题一:

在这里插入图片描述

这里YUM 根本没有找到可安装的 mysql-community-server 包

这里博主是CntOS 8.2系统,可能存在两个原因导致的:

  • 没导入 MySQL 仓库
  • CentOS 8 的模块过滤

导入MYSQL仓库:

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-5.noarch.rpm

禁用系统自带的 mysql 模块

sudo dnf -y module disable mysql

在这里插入图片描述

做了上述工作,再去安装mysql

在这里插入图片描述

问题二:秘钥不匹配

简单来说就是,需要最新的MYSQL 秘钥,导入最新的 MYSQL公钥

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

导入之后,重新按照mysql即可安装成功。

3. 配置文件和数据

安装好mysql,在系统当中是存在对应的配置文件的,配置文件所在路径:/etc/my.cnf

此外,mysql中的数据也是在当前服务器中存储的,数据所在的路径:/ver/lib/mysql

在这里插入图片描述

这里博主的服务器中数据库是不存在数据的,但存储数据的文件是存在的。

使用MYSQL

安装完MYSQL,接下来就是启动MYSQL服务

1. 启动MYSQL服务

在这里插入图片描述

当前服务器中,是不存在MYSQL相关服务的;启动MYSQL服务:

systemctl start mysqld.service

在这里插入图片描述

启动完MYSQL服务后,就可以使用ps -axj |grep mysql查看到该mysql服务了。

2. 登录MYSQL

mysql -uroot -p

该命令用来登录mysql(使用root用户登录)
在这里插入图片描述

登录mysql,会发现它要密码才能登录啊;这里刚安装、启动MYSQL,密码是什么呢?

临时密码:

这里,在第一次启动MYSQL服务时,会给我们生成对应的临时密码,我们可以查看mysql所对应的日志,找到该临时密码。

mysql所对应的日志:/ver/log/mysqld.log

这里可以使用grep命令在该日志中查找 temporary password字段。

在这里插入图片描述

可以看到,博主当前服务器,第一次启动mysql时是生成了临时密码的。

所以,就可以使用该临时密码登录mysql

在这里插入图片描述

使用临时密码,就可以成功登录mysql

如果安装最新的mysql版本,是不存在临时密码的,root账户登录没有密码。

修改配置文件,不需要密码

如果查不到临时密码,root登录时还需要密码;我们就可以修改mysql的配置文件:/etc/my.cnf

在配置文件的最后一栏,加入 skip-grant-tables字段。

在这里插入图片描述

修改完之后,重启一下mysql服务:

systemctl restart mysqld

也可以先stop,停止服务;再启动服务start

在这里插入图片描述

重启mysql服务之后,再登录mysql就不需要密码了

在这里插入图片描述

3. 配置my.cnf

这里mysql也是一个网络服务,使用netstat -nltp,可以查看到mysql端口号等信息

在这里插入图片描述

mysql的默认端口号是3306

这里我们可以修改my.cnf配置文件,自定义设置mysql的端口号,以及设置文通用码utf-8

在这里插入图片描述

重启mysql服务,就能够发送mysql的端口号变成了3333(配置文件中修改的)。
在这里插入图片描述

这里不建议修改端口,mysql的默认端口号是3306,修改之后可能导致数据库无法连接

这里就将配置文件中的端口号设置成3306(默认端口号)。

此外,还可以设置mysql开机自启动,这里就不设置了,感兴趣的可以自行尝试一下。

本篇文章到这里就结束了,感谢支持
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐