当前位置: 首页 > ai >正文

Centos环境下安装/重装MySQL完整教程

目录

一、卸载残留的MySQL环境:

二、安装MySQL:

1、下载MySQL官方的yum源:

2、更新系统yum源:

3、确保系统中有了对应的MySQL安装包:

4、安装MySQL服务:

5、密钥问题安装失败解决方法:

三、验证安装、使用:

1、验证MySQL安装:

2、启动MySQL服务:

3、更改MySQL配置文件并登录MySQL:

四、验证C语言链接:


一、卸载残留的MySQL环境:

这一步是之前在系统中安装过MySQL,或者Linux是直接买的云服务器而不是虚拟机的才需要看,如果在此之前系统未安装过MySQL的可以直接跳到第二标题开始看。

在安装与卸载的时候,因为一些权限问题,所以最好直接使用root进行所有的操作,下图是我自己的虚拟机,已经安装过MySQL的来进行演示:

可以通过上图的演示命令查询一下系统中是否有安装过MySQL或者是否有正在运行的MySQL服务,如果有,那么先关闭对应的正在运行的服务:

1、在命令行中输入下面这行指令停止MySQL服务:

systemctl stop mysqld

2、检查并卸载系统中默认的MySQL安装包

检查系统中默认的MySQL安装包:

rpm -qa | grep mysql

将上图的默认安装包全部卸载掉:

输入以下命令进行批量化卸载(懒得一个一个卸载了):

rpm -qa | grep mysql | xargs yum -y remove

卸载完成后可以再次使用rpm -qa | grep mysql命令来查一下,正常情况下就是全部没了的。

然后可以再确认一下进程,是没有MySQL服务在运行的了,其次,可以检查一下 /etc目录下有没有对应的MySQL配置文件my.cnf,正常情况下就都是没有的了。

那到这里,对应的环境就是卸载干净的了,可以正式开始MySQL的安装了。

二、安装MySQL:

1、下载MySQL官方的yum源:

首先先查询自己系统的版本号:例如下图我这里的是centos7.9

然后打开下面这个MySQL官方的yum源网址,找到符合自己系统的MySQLyum源:

http://repo.mysql.com/

打开网址后页面显示可能不太完整,可以直接右键查看页面源代码,可以将细节显示的全一点,这里我以最常用的MySQL5.7版本为演示,然后以你的系统版本为准,上图我的系统版本是7.9,所以我这里就下载7.9的yum源:

然后再使用rz命令将你下载的yun源上传到你的centos系统上去,自己建个目录放进去,如图显示就是:

2、更新系统yum源:

进到你传上来的MySQLyum源的目录中,输入以下命令:

rpm -ivh 你下载的MySQLyum源的全名 例如:rpm -ivh mysql57-community-release-el7-9.noarch.rpm

3、确保系统中有了对应的MySQL安装包:

使用如下命令查看系统是否有了对应MySQL的安装包

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

如果没有MySQL的yum源,那确认一下前面安装MySQLyum源的操作是否正确执行。

4、安装MySQL服务:

在上述工作做完了后,就可以正常安装MySQL了:

yum install -y mysql-community-server

5、密钥问题安装失败解决方法:

因为我这里是之前安装MySQL的时候安装过密钥的,所以没法展示安装MySQL失败的情况,第一次安装MySQL的时候可能会遇上MySQL安装失败,因为没有检索到系统有对应的MySQL密钥,这个在我第一次安装MySQL的时候遇到过,如果你也遇上了的话就输入下面这个命令:

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

然后再重新执行install命令重新安装一下MySQL就可以了。

三、验证安装、使用:

1、验证MySQL安装:

安装完成之后可以查看一下在/etc目录下是否存在my.cnf文件,是否有对应的mysqld服务端的应用程序,mysql客户端应用程序:

2、启动MySQL服务:

启动sql服务:

systemctl start mysqld

启动后可以查看MySQL服务是否正在运行:

3、更改MySQL配置文件并登录MySQL:

正常登录MySQL的指令如下:

mysql -h 登录用户的IP -P 端口号 -u 登录的用户名 -p

但是如果像我一样只做个人学习用的话,可以更改MySQL的配置文件,让登录没那么麻烦,如下

使用vim打开MySQL的配置文件:

vim /etc/my.cnf

在文件中加入以下文本(可一键复制):

skip-grant-tables   #跳过密码认证环节,就是不用输密码,直接按回车即可登录
port=3306           #设置默认端口号
character-set-server=utf8       #设置server端的编码格式
default-storage-engine=innodb   #设置默认存储引擎

然后重启MySQL:

systemctl restart mysqld

登录MySQL:

mysql -u root -p

然后即可使用MySQL服务了,要是你想让MySQL服务开机自启动的话可以输入一下两行命令,但是如果是云服务器的话不用那么麻烦,因为云服务器本来也不会关机:

systemctl enable mysqld 
systemctl daemon-reload 

四、验证C语言链接:

第一:使用C语言连接数据库首先得保证在/usr/include目录下存在mysql文件夹,该文件夹里包含着对应的mysql头文件,这个一般要自己安装对应的开发包工具:

yum install -y mysql-devel

然后安装完之后一般就会在/usr/include文件夹下有mysql文件夹,mysql文件夹下就会有对应的MySQL头文件

第二:查看lib64目录下有没有对应的MySQL打包好的动静态库,这个在上面安装MySQL服务的时候是已经一并安装了的了,如果没有那么确保一下MySQL服务有没有正确安装:

ls /lib64/mysql/

都有的话,那么可以编写一个简单的C++程序来验证是否可以正常链接:

#include <iostream>
#include <mysql/mysql.h>int main()
{std::cout<<"mysql client version: " << mysql_get_client_info() << std::endl;return 0;
}

mysql_get_client_info()函数,MySQL库带的函数,返回当前MySQL服务的版本号。

声明:上面代码的文件名为test.cc 形成可执行文件的名字为mytest, -L指明头文件所在的路径,-l指明对应哪个库。

g++ -o mytest test.cc -L/lib64/mysql -lmysqlclient

好了,正常到这里MySQL服务就算是正常安装完成,也能正常登录使用了,如果有什么其他问题再一起讨论吧。

http://www.xdnf.cn/news/10268.html

相关文章:

  • [SC]SystemC在CPU/GPU验证中的应用(二)
  • 【数据结构】图的存储(邻接矩阵与邻接表)
  • Spring Data Redis 实战指南
  • Java对象克隆:从浅到深的奥秘
  • 秒杀系统—5.第二版升级优化的技术文档三
  • Brighter 的线程模型:为何专用线程驱动异步消息泵
  • Python(十四)
  • Vue-自定义指令
  • *JavaScript中的Symbol类型:唯一标识符的艺术
  • # STM32F103 PA0到PA4多路ADC采集配置和采集程序
  • SQL进阶之旅 Day 9:高级索引策略
  • sass高阶应用
  • 基于Web的濒危野生动物保护信息管理系统设计(源码+定制+开发)濒危野生动物监测与保护平台开发 面向公众参与的野生动物保护与预警信息系统
  • resubmit v1.2.0 新特性支持类级别防止重复提交
  • 深度学习总结(40)
  • 数据集笔记:SeekWorld
  • 【Java笔记】Spring IoC DI
  • YOLOv8 移动端升级:借助 GhostNetv2 主干网络,实现高效特征提取
  • 【CC协议】知识共享许可协议(Creative Commons Licenses)体系解析
  • 注销微软账户
  • android 媒体框架之MediaCodec
  • MySQL中COUNT(*)、COUNT(1)和COUNT(字段名)的深度剖析与实战应用
  • 谷歌:贝叶斯框架优化LLM推理反思
  • CMake指令:list()
  • MySQL(48) 什么是ZEROFILL属性?
  • 宇树机器狗go2添加3d雷达(下)添加velodyne系列雷达
  • 《高等数学》(同济大学·第7版) 第一节《映射与函数》超详细解析
  • 数据库只更新特定字段的两种方式(先读后写 vs. 动态组织 SQL)-golang SQLx 实现代码(动态组织 SQL)
  • 索引的选择与Change Buffer
  • Linux进程信号