MySQL - 第0节 - MySQL在Centos 7环境安装

目录

1.安装前说明

2.MySQL在Centos 7环境安装

2.1.卸载不要的环境

2.2.配置mysql官方yum源

2.3.检查yum源能否正常工作

2.4.安装mysql

2.5.检查mysql是否安装成功

2.6.启动mysqld数据库服务端

2.7.三种登录方法

2.7.1.登陆方法一

2.7.2.登陆方法二

2.7.3.登陆方法三

2.8.配置my.cnf

2.9.设置开机启动(可以不设置)

3.配置文件my.cnf介绍


1.安装前说明

• 安装与卸载过程中,用户全部切换成为root,一旦安装,普通用户也能够使用。

• 初期练习,mysql不进行用户管理,全部使用root进行,后面学了用户管理,再考虑新建普通用户。

注:

1.使用root用户安装mysql,普通用户在启动mysql时必须拥有root超级用户权限。

2.在Linux中部署mysql、redis、docker等服务都必须在root用户下进行,因为用户要安装部署这些服务需要将对应配置文件、数据文件拷贝到系统的某些默认路径下,这些路径只有超级用户才能拷贝。此外,只有管理员权限才有权力在Linux上部署服务,所以必须使用root用户。


2.MySQL在Centos 7环境安装

mysql安装总共分为九个步骤,下面进行详细讲解。

2.1.卸载不要的环境

• 云服务器上可能自带mysql服务,使用ps ajx | grep mysqld命令搜索是否安装mysql(mysqld以d结尾代表daemonize守护进程),使用ps ajx | grep mariadb命令搜索是否安装mariadb(mariadb是mysql的开源分支)。如果云服务器上有mysql或mariadb,那么可以直接使用。使用前可以使用which mysql命令查看mysql所在目录,使用mysql --version命令查看mysql的版本。

• 因为我们这里要演示mysql的安装,如果云服务器原本就有mysqld或mariadb,那么就先进行mysqld或mariadb的卸载。进入超级用户,ps ajx | grep mysqld命令查看mysql的状态,如果mysql是运行状态的,需要先使用systemctl stop mysqld命令将mysql服务停下来。

• 接下来就可以将mysql相关安装包进行卸载了,使用rpm -qa | grep mysqld命令查看所有与mysql相关的安装包,因为这些mysql相关的安装包可能在不同的路径下,不能直接用rm命令挨个卸载。这些mysql相关的安装包都是通过yum命令安装的,自然也可以通过yum命令卸载,使用 yum remove+安装包名 命令依次卸载所有与mysql相关的安装包。

如果觉得使用 yum remove+安装包名 命令挨个卸载与mysql相关的安装包过于麻烦,可以使用 rpm -qa | grep mysqld | xargs yum -y remove 命令一次性卸载。

这里要注意的是yum命令要通过管道读取rpm -qa | grep mysqld所产生的安装包列表,管道会通过标准输入传给yum命令,而yum命令是命令行应该通过argv输入(应该将rpm -qa | grep mysqld所产生的安装包列表依次拼在yum remove命令后面进行卸载),xargs的作用就是从标准输入读到的一行一行的内容一个个的喂给后面的yum进程。

使用-y选项的原因是,卸载软件yum会有是否卸载的命令行询问,如果有命令行询问就无法批量化的进行安装包卸载,-y就是直接告诉yum同意卸载,不需要再命令行询问。

• 卸载完后再使用rpm -qa | grep mysqld命令查看就没有之前的mysql相关的安装包了。

2.2.配置mysql官方yum源

• 一般情况下,云服务器是默认没有配置mysql的yum源的,因此需要我们提前配置yum源。

• 当前所有的yum源在/etc/yum.repos.d目录下,如下图所示。从图中可以看出没有mysql相关的yum源。

• 下来就需要获取yum源了,在获取yum源之前需要明确自己的Linux系统是什么版本,使用 cat /etc/redhat-release命令查看当前Linux系统版本,如下图所示。从图中可以看出这里的Linux系统是CentOS 7.6的。

打开Index of /232905 (mysql.com)yum源连接,单机右键选择查看页面源代码。我们想安装mysql5.7,因此首先查看mysql57相关的yun源,然后在mysql57相关的yun源中查找与自己Linux系统匹配的yun源,我们的Linux系统是CentOS 7.6的,因此选择el7-6相关的yun源。如果没有el7-6这样细化到.6的yum源,那么可以使用el7的yum源,如下图所示。

点击该yum源下载到windows本地,然后在云服务器中使用 rz 命令将下载的 .rmp yum源上传到云服务器中,如下图所示。

• 这里获取到了yum源,然后就需要安装yum源了。安装yum源其实就是将上图的yum源安装包文件解包解压并拷贝到相应的yum源所在目录下,使用rpm -ivh mysql57-community-release-el7.rpm命令即可完成yum源的安装工作,如下图所示。

2.3.检查yum源能否正常工作

使用yum list | grep mysql命令查看yum源列表,如下图所示,从图中可以看出yum源列表中有mysql的yum源。

2.4.安装mysql

使用 yum install -y mysql-community-server 命令安装mysql,如下图所示。

安装过程中常见问题:

1.密钥过期的问题,如下图所示。遇到该问题,主要原因是云服务器在打包过程中一些字段已经过期。

解决方案:在命令行输入 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 命令,然后再使用yum install -y mysql-community-server 命令安装mysql即可。

2.5.检查mysql是否安装成功

• 使用 which mysql 命令检查是否有mysql。

• 使用 which mysqld 命令检查是否有mysqld。

• 使用 ls /etc/my.cnf 命令检查对应路径下是否有my.cnf。

注:mysql是数据库的客户端,mysqld是数据库的服务端,my.cnf数据库的配置文件。

2.6.启动mysqld数据库服务端

首先使用 systemctl start mysqld 命令启动数据库的服务端,如下图所示,使用 ps ajx | grep mysqld 命令可以看到数据库服务进程已经启动。

使用 netstat -nltp 命令可以看到mysqld的网络服务,如下图所示,也就是说mysqld运行起来后其实就是一个网络服务器进程。

从网络的角度,mysqld就是一个应用层服务,从系统的角度,mysqld就是一个用户级进程。

mysql数据库采用的是TCP协议,mysql数据库工作在应用层。

2.7.三种登录方法

不同的mysql版本登录方法可能不同,三种方法都尝试一下,总有一个可以。

2.7.1.登陆方法一

• 刚安装好后mysql默认只有一个root账号(与Linux的root用户没有关系),mysql安装成功后一般会在日志中构建一个临时密码,可以使用该临时密码进行root账号登录。

使用 grep 'temporary password' /var/log/mysqld.log 命令在对应存储临时密码的日志中查看临时密码,如果没有打印内容则说明该方法不可行,如果打印了内容,该内容就是临时密码,如下图所示。

• 使用 mysql -uroot -p 命令然后输入临时密码就可以登陆了,如下图所示。

注:如果要退出mysql数据库使用quit即可退出。

2.7.2.登陆方法二

• 如果安装的是最新的mysql,就没有所谓的临时密码,即root账号默认没有密码。

• 使用 mysql -uroot -p 命令直接登录即可。如果提示要输入密码,则该方法不可行。

2.7.3.登陆方法三

• 使用 vim /etc/my.cnf 命令打开mysql的my.cnf配置文件,[mysqld]部分的内容就是服务端mysqld的配置部分,将skip-grant-tables选项输入到该区域中即可,如下图所示。

• 配置完后,如果mysqld正在运行那么配置的内容并没有生效,使用systemctl restart mysqld命令重新启动mysqld服务端即可,然后使用 mysql -uroot -p 命令,弹出输入密码框时直接回车就可以登录了,如下图所示。 

2.8.配置my.cnf

配置数据库服务端mysqld的编码格式:
使用 vim /etc/my.cnf 命令打开mysql的my.cnf配置文件,在[mysqld]部分输入character-set-server=utf8即可,如下图所示。

配置数据库服务端mysqld的存储引擎:

使用 vim /etc/my.cnf 命令打开mysql的my.cnf配置文件,在[mysqld]部分输入default-storage-engine=innodb即可,如下图所示。

2.9.设置开机启动(可以不设置)

直接命令行中输入 systemctl enable mysqld 和 systemctl daemon-reload 命令即可设置开机启动。

注:在云服务器中将某个程序设置开机启动,因为云服务器正常不会关闭,所以设置开机启动后对应程序会一直运行。


3.配置文件my.cnf介绍

这里主要介绍datadir选项,其他选项后面会介绍。

使用 vim /etc/my.cnf 命令打开mysql的my.cnf配置文件,如下图所示。

• datadir: 在mysql中建库和建表时数据所存储的目录。

使用 ls -l /var/lib/mysql 命令查看datadir所指向的目录,如下图所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/29750.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Pandas+Pyecharts | 中国高校及专业数据分析可视化

文章目录 🏳️‍🌈 1. 导入模块🏳️‍🌈 2. Pandas数据处理2.1 读取数据 🏳️‍🌈 3. Pyecharts数据可视化3.1 全国高校分布地图3.2 全国高校分布城市地图3.3 本科/专科占比3.4 985/211/双一流高校数量占比…

【考研复习】李春葆新编C语言习题与解析(错误答案订正)持续更新

新编C语言习题与解析 做习题时发现有些错误答案,写篇博客进行改正记录。不对地方欢迎指正~ 第二章 C. 其中b的表达形式错误,若加上0x1e2b则正确。所以C错误。 D. e后为整数。指数命名规则:e前有数,后有整数。所以D错…

【CEEMDAN-CNN-LSTM】完备集合经验模态分解-卷积神经长短时记忆神经网络研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

getopt函数和getopt_long函数

这个函数有点像无限迷宫,正确的路和错误的路都有很多,我们只需要能够满足当前需求就可以了,完全没有必要去探索每一条路。虽然,我很久以前试图这样干过。过滤后的回忆,只剩感觉了,过滤的多了,感…

【简单便捷】解决Ubuntu内存不足问题:Ubuntu16.0.4 进行内存扩容

文章目录 电脑环境前言一、总述二、先在标题:虚拟机-->设置上进行扩容三、扩容之后 打开终端 执行 sudo apt install gparted四、执行 sudo gparted五、扩容成功六、重启测试 可以看到大概率成功了。 电脑环境 Windows 11 专业版系统 前言 在开发初期&#xf…

二叉树的相关操作

一.二叉树 本文的数据结构基于C语言练习。 C语言中的二叉树是一种数据结构,用于表示具有层次关系的数据集合。它由一个根节点开始,每个节点最多有两个子节点,分别称为左子节点和右子节点。 二叉树有许多相关性质,其中一些重要的包…

【CSS---定位基础篇】

CSS---定位基础篇 CSS-----基础定位:一 、 学习定位原因:(定位的作用)二 、定位组成:2.1 四种定位模式:(1)静态定位(了解):(2)相对定位…

ElasticSearch笔记02-ElasticSearch入门

ElasticSearch安装 下载软件 ElasticSearch的官网,视频教程里用的Version是7.8.0,所以,我们也是用7.8.0版本的ElasticSearch。 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch,然后搜索…

lua的元表与元方法理解

元表 在 Lua 中,元表(metatable)是一种特殊的表,用于定义另一个表的行为。每个表都有一个关联的元表,通过元表可以重载表的各种操作,例如索引、新索引、相加等。在 Lua 中,元表的使用非常灵活&…

二、线性神经网络

文章目录 前言一、线性回归1. 线性回归的基本元素1.1 线性模型1.2 损失函数1.3 解析解1.4 梯度下降1.5 用模型进行预测 2. 正态分布与平方损失3. 从线性回归到深度网络 二、线性回归的代码实现1. 生成数据集2. 读取数据集2.1 手动实现读取数据集2.2 简洁实现读取数据集 3. 初始…

基于SpringBoot+Vue的自习室预订系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…

深度学习卷积神经网络CNN之ResNet模型网络详解说明(超详细理论篇)

1.ResNet背景 2. ResNet论文 3. ResNet模型结构 4. ResNet优缺点 一、ResNet背景 ResNet 在2015 年由微软研究院提出的一种深度卷积神经网络结构,在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)中取得了冠军(分类…

OpenCV(图像处理)-基于Python-形态学处理-开运算、闭运算、顶帽、黑帽运算

1. 形态学2. 常用接口2.1 cvtColor()2.2 图像二值化threshod()自适应阈值二值化adaptiveThreshod() 2.3 腐蚀与膨胀erode()getStructuringElement()dilate() 2.4开、闭、梯度、顶帽、黑帽运算morphologyEx() 1. 形态学 OpenCV形态学是一种基于OpenCV库的数字图像处理技术&…

如何安装MySQL数据库

目录 什么是MySQL数据库 第一步 安装依赖环境 第二步 创建MySQL相关进程用户 第三步 导入MySQL相关包 第四步 解包到指定目录下 第五步 切换到MySQL目录下编译安装 第六步 编译 第七步 更改指定文件的所有者和所属组 第八步 进入指定配置文件清空内容 第九步 配置指定…

IDEA Build Artifacts 功能使用总结

文章目录 创建Artifact步骤Build Artifact步骤 打开IDEA,在没有创建Artifact时,菜单"Build -> Build Artifacts…“是灰色的,不可用状态。 所以,第一步是进入"File -> Project Structure…”,创建Arti…

12-代码实战——服务器版表白墙

目录 1.版本一:将数据存到内存中 ①约定前后端交互接口 a.添加表白信息: b.查询表白列表: ②在webapp包下创建message-wall.html前端文件 ③在java包下创建AddMessageServlet后端类 ④在java包下创建MessageListServlet后端类 2.版本…

【Azure】微软 Azure 基础解析(七)Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer

本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。 本系列文章列表如下: 【Azure】微软 Azure 基础解析(三)描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx…

通过 Python 封装关键词搜索阿里巴巴商品api接口

以下是使用 Python 封装关键词搜索阿里巴巴商品列表数据的步骤: 使用 requests 库向阿里巴巴搜索接口发送 HTTP 请求,可以使用 GET 或 POST 方法,请求参数中应包含搜索关键词、每页展示数量、当前页码等信息。 解析返回的 response 中的 HTM…

【Java高级语法】(六)内部类Inner Class:这可能是史上最全的关于内部类的学习资料~

Java高级语法详解之包装类 :one: 概念:two: 优缺点:three: 使用2.1 成员内部类2.2 局部内部类2.3 匿名内部类2.4 静态内部类2.5 小结:外部类访问四种内部类的特点2.6 小结:其他类访问四种内部类的特点 :four: 内部类与外部类的关系:five: 应用场景:six: …

01-抒写代码之诗:Golang 关键字的文学探索

📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。G…