CentOS7版本安装mysql

文章目录

  • 1.安装mysql的前置条件
  • 2.清理原有的mysql数据库
  • 3.查看是否安装mariadb
  • 4.安装mysql依赖包
  • 5.解压缩mysql包
  • 6.安装目录赋权限(注:R必须是大写)
  • 7.创建MySQL组
  • 8.将mysql目录的权限授给mysql用户和mysql组
  • 9.创建mysql安装初始化配置文件
  • 10.初始化mysql
  • 11.启动MySQL服务
  • 12.mysql加入系统进程中
  • 13.修改随机登录密码
  • 14.设置允许远程登录
  • 15.防火墙设置
  • 16.配置环境变量

通过mysql的tar包的方式。
看完此文章,如遇到问题和疑问,可以私信我。

1.安装mysql的前置条件

  1. 如果你是虚拟机上的CentOS系统,需要先配置好yum的镜像仓库地址(如果是云服务器的系统,则不是必须配置好)
  2. 提前下载好Linux版本的mysql版本(例如:mysql-8.0.21-el7-x86_64.tar.gz)
  3. 安装xshell(SSH远程连接(虚拟机本地的系统可以直接在虚拟机的系统操作,不是很必要))和FileZilla Client(向服务器的CentOS直接传文件的软件)。这些软件安装相同功能的也可以,不必要一样的。
  4. 在CnetOS目录下建一个放置你压缩包的目录(记住这个目录)。我的mysql-8.0.21-el7-x86_64.tar.gz上传放在了/root/software/目录下(没有software,自己新建)。

2.清理原有的mysql数据库

通过一下命令查找出已安装的mysql、软件包和依赖包:

[root@VM-12-15-centos ~]# rpm -pa | grep mysql

显示结果:
mysql80-community-release-el7-1.noarch
mysql-community-server-8.0.11-1.el7.x86_64
mysql-community-common-8.0.11-1.el7.x86_64
mysql-community-libs-8.0.11-1.el7.x86_64
mysql-community-client-8.0.11-1.el7.x86_64
使用以下命令依次删除上面的程序:

[root@VM-12-15-centos ~]# yum remove mysql-xxx.xxx

删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件;

[root@VM-12-15-centos ~]# find / -name mysql

可能得显示结果如下:
/etc/logrotate.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/etc/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/local/mysql
根据需求使用以下命令 依次 对配置文件进行删除(可以不进行操作),例如(-rf命令一定确保文件没有实际用处了使用):

[root@VM-12-15-centos ~]# rm -rf /etc/logrotate.d/mysql

3.查看是否安装mariadb

因为mariadb是mysql的分支子集,不删除的话对安装mysql会有影响冲突。
执行命令:

[root@VM-12-15-centos ~]# rpm -qa | grep mariadb

在这里插入图片描述
这样显示是没有文件,有的话执行命令:

[root@VM-12-15-centos ~]# rpm -e --nodeps mariadb-xxxx

卸载后,可以再通过查找命令,看一下是否卸载成功(以下执行的相似的命令,也可以这样查看)。

4.安装mysql依赖包

执行命令:

[root@VM-12-15-centos ~]# yum install libaio

在这里插入图片描述

5.解压缩mysql包

前置条件中,已将通过传送文件的软件将mysql压缩包传送到你新建的目录。
查看你的压缩包:
进入相应的文件夹

[root@VM-12-15-centos ~]# cd /root/software/

查看文件夹有什么东西:
在这里插入图片描述
输入解压命令:
tar -zxvf 需要解压的文件名 -C 解压文件放在哪个目录
例如:

[root@VM-12-15-centos software]#tar -zxvf /root/software/mysql-8.0.21-el7-x86_64.tar.gz -C /usr/local

这里会执行一段时间,执行成功后,进入/usr/local/目录,通过ls查看是否有mysq-xxx的文件夹。
文件夹改名命令:

[root@VM-12-15-centos local]# mv /usr/local/mysql-8.0.21-el7-x86_64 mysql

在这里插入图片描述
创建mysql数据存放目录mysqldb,执行命令(这些命令都是一行一行执行的,下面的都是如此,别全复制粘贴过去):

[root@VM-12-15-centos lcoal]# cd /usr/local/mysql/
[root@VM-12-15-centos mysql]# mkdir /usr/local/mysql/mysqldb

在这里插入图片描述

[root@VM-12-15-centos mysql]# ls -al

在这里插入图片描述

6.安装目录赋权限(注:R必须是大写)

[root@VM-12-15-centos mysql]# chmod -R 777 /usr/local/mysql/
[root@VM-12-15-centos mysql]# chmod -R 777 /usr/local/mysql/mysqldb/

7.创建MySQL组

创建mysql用户,并且设置密码(mysql123456,自己记住就行,不能是太简单的密码,像是123456,否则会报错)

[root@VM-12-15-centos mysql]# groupadd mysql
[root@VM-12-15-centos mysql]# useradd mysql
[root@VM-12-15-centos mysql]# passwd mysql123456

8.将mysql目录的权限授给mysql用户和mysql组

[root@VM-12-15-centos mysql]# chown -R mysql:mysql /usr/local/mysql

查看:

[root@VM-12-15-centos local]# ll

在这里插入图片描述

9.创建mysql安装初始化配置文件

[root@VM-12-15-centos mysql]# vi /etc/my.cnf

vi编辑没有颜色,vim如果下载了,使用vim,有颜色区分。

[root@VM-12-15-centos mysql]# vim /etc/my.cnf

添加下面的命令,并保存退出(复制粘贴后,修改basedir和datadir路径,按Esc件,输入:wq,保存并退出)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

通过以下命令,查看my.cnf文件。
在这里插入图片描述

10.初始化mysql

首先,进入mysql的bin目录下:

[root@VM-12-15-centos mysql]# cd /usr/local/mysql/bin/
[root@VM-12-15-centos bin]# ./mysqld --initialize --console

这里有时会出现错误:
错误一:
在这里插入图片描述
这个错误的意思,你没有下载那个依赖。
如果安装mysql出现了以上的报错信息.这是却少numactl,这个时候如果是Centos就执行

[root@VM-12-15-centos bin]# yum -y install numactl

ubuntu的就执行

sudo apt-get install numactl

就可以解决这个问题。
没问题的话,执行初始化启动命令。

[root@VM-12-15-centos bin]# ./mysqld --initialize --console

后记住随机密码(一般在最后面,多数是很乱的英文字母),一会修改密码会用到。

11.启动MySQL服务

[root@VM-12-15-centos bin]# cd …/support-files/
[root@VM-12-15-centos support-files]# ./mysql.server start

这里很可能会出现错误。
错误类型一:
在这里插入图片描述
在mysql安装目录下重新授权后,再次字形启动MySQL命令:

[root@VM-12-15-centos support-files]# chmod -R 777 /usr/local/mysql

错误类型二:
在这里插入图片描述
通过命令

[root@VM-12-15-centos support-files]# ps -ef | grep mysql

查看是否已有mysql在启动。
在这里插入图片描述可以看到有两个相关进程,命令kill -9 端口号(如图中的14099)杀掉进程!
再次启动服务。
看是否会显示启动成功提示信息。

12.mysql加入系统进程中

[root@VM-12-15-centos support-files]# cp mysql.server /etc/init.d/mysqld

重启MySQL服务:

[root@VM-12-15-centos support-files]# service mysqld restart

13.修改随机登录密码

在bin目录下执行(此处建议用手动输入,复制粘贴有时会出现错误)

[root@VM-12-15-centos bin]# ./mysql -u root -p

输入刚才记住的随机密码,点击Enter进入,会出现mysql>。
输入(其中最后的root是你的root账户的数据库密码,更改为你的密码即可):

mysql> alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;

14.设置允许远程登录

输入一行,执行一行。

mysql> use mysql
mysql> update user set user.Host=’%'where user.User=‘root’; <此处复制可能会出问题>
mysql> flush privileges;

再输入quit退出。
重启服务即可。

[root@VM-12-15-centos bin]# service mysqld restart

15.防火墙设置

方法一:
1.设置防火墙通过端口3306.

方法二:
关闭防火墙。

[root@VM-12-15-centos bin]# systemctl stopfirewalld.service

16.配置环境变量

[root@VM-12-15-centos bin]# vi /etc/profile

在文件的最后加上如下两行:

export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files

按Esc键,输入:wq(保存退出)。
执行:

[root@VM-12-15-centos bin]# source /etc/profile

至此,安装mysql成功,可以再Navicat xx for MySQL数据库管理软件,进行此数据库的连接。

如有疑问,可以私信我。

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

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

相关文章

APP广告变现项目

我们提供的服务可以简化为以下几点&#xff1a; 我们将为您开发一款应用程序(APP)&#xff0c;该APP能够连接市场上的主要广告联盟平台。 我们将指导您完成整个“养机”流程&#xff0c;并确保您的单台设备每条广告能产生大约1元的收益。若您拥有10台设备&#xff0c;每日收益…

ElasticSearch搜索引擎中,在Kibana客户端使用命令的时候,千万不要加分号结尾

ElasticSearch搜索引擎中&#xff0c;在Kibana客户端使用命令的时候&#xff0c;千万不要加分号结尾 今天遇到了一个非常难发现的bug 由于经常写java代码&#xff0c;因此常常会在一句代码结尾之处写上一个分号&#xff0c;并且潜意识里觉得这就是非常正常的事情 不会有什么问…

c++的智能指针(5) -- weak_ptr

概述 我们在使用shared_ptr会出现以下的问题&#xff0c;会导致内存泄露。 代码1: 类内指针循环指向 #include <iostream> #include <memory>class B;class A { public:A() {std::cout << "Construct" << std::endl;}~A() {std::cout <…

鸿蒙入门11-DataPanel组件

数据面板组件 用于将多个数据的占比情况使用 占比图 进行展示 参数 参数形式 &#xff1a; DataPanel( options:{ values: number[], max?: number, type?: DataPanelType } ) 参数名 参数类型 是否必填 默认值 参数描述 values number[] 是 - 数据值列表 最大支持…

Android Studio的button点击事件

xml添加onClick调用方法 public class MainActivity extends AppCompatActivity {// 创建系统时间的文本控件TextView systemTimeTextView;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activit…

Springboot+Vue项目-基于Java+MySQL的海滨体育馆管理系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

Jmeter工具+ant+jenkins实现持续集成

jmeterantjenkins持续集成 一、下载并配置jmeter 首先下载jmeter工具&#xff0c;并配置好环境变量&#xff1b;参考&#xff1a; jmeter默认保存的是.jtl格式的文件&#xff0c;要设置一下bin/jmeter.properties,文件内容&#xff0c;保存jmeter.save.saveservice.output_f…

【linux】Bad owner or permissions on

在root用户下执行scp操作向另外一个节点拷贝文件时发生了如下错误&#xff1a; Bad owner or permissions on /etc/crypto-policies/back-ends/openssh.config 我们查看他的权限时发现它所链接的文件权限为777 解决方法就是&#xff1a; chmod 600 /etc/crypto-policies/back-e…

关于加强电力系统通信与电网调度自动化建设问题的规定

关于加强电力系统通信与电网调度自动化建设问题的规定 为了保障电力系统安全、经济、优质、可靠运行&#xff0c;必须加强电网调度管理和提高技术装备水平。根据当前电网技术装备状况&#xff0c;结合电力系统通信和电网调度自动化的特点&#xff0c;以及今后规划发展的要求&am…

Python基础知识—运算符和if语句(二)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》 《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 1.输入和输出函数1.1输出函数1.2输入函数 2.常见运算符2.1赋值运算符2.2比较运算符2.3逻辑运算符2.4and逻辑与2.5or逻辑或2.6not逻…

Java后台开发的前置说明

1.知识点逻辑 一个部分 都是先挑重点知识点讲解 然后根据这些重点知识点去完成一个项目的开发 然后在到返回来解决这个部分其他细枝末节的知识点 2.软件开发的分工 我们大致可以将软件开发分成四块&#xff1a; 1.前端开发(比如开发电脑中的京东 htmlcssjavascript) 2.移动开…

Springboot3集成Web、RedisTemplate、Test和knife4j

本例将展示&#xff0c;如何在Springboot3中完成&#xff1a; Redis功能的Web接口实现构建Redis功能的单元测试knife4j自动化生成文档 Redis功能 Pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

【EdgeBox-8120AI-TX2】Ubuntu18.04 + ROS_ Melodic + 星秒PAVO2单线激光 雷达评测

大家好&#xff0c;我是虎哥&#xff0c;好久不见&#xff0c;最近这断时间出现了一点变故&#xff0c;开始自己创业&#xff0c;很多事需要忙&#xff0c;所以停更了大约大半年&#xff0c;最近一切已经理顺&#xff0c;所以我还是抽空继续我之前的FLAG&#xff0c;CSDN突破十…

Hadoop伪分布式平台搭建

搭建Hadoop伪分布式环境是在单台机器上模拟完整的Hadoop分布式系统&#xff0c;使得所有的Hadoop守护进程&#xff08;如NameNode、DataNode、ResourceManager、NodeManager等&#xff09;都在同一台机器上运行。这样可以在一台机器上体验Hadoop的分布式特性&#xff0c;适合学…

《AI极简经济学》|揭开AI面纱,普通人的机遇与挑战

《AI极简经济学》一书由经济学家阿杰伊阿格拉沃尔、乔舒亚甘斯和阿维戈德法布联袂撰写&#xff0c;他们共同创立了创新颠覆实验室&#xff08;Creative Destruction Lab&#xff0c;简称CDL&#xff09;&#xff0c;实验室的研究领域主要集中在人工智能和决策领域。他们通过《A…

java 词法分析练习

import parser.Parser;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class Main {public static void main(String[] args) {// 关键词List<String> keyList new ArrayList<>(Arrays.asList("int","String…

汽车组装3D电子说明书更通俗易懂

激光打印机由于造价高、技术更先进&#xff0c;因此在使用和维护上需要更专业的手法&#xff0c;而对于普通客户来说并不具备专业操作激光打印机的技能&#xff0c;为了通俗易懂地让客户理解激光打印机&#xff0c;我们为企业定制了激光打印机3D产品说明书&#xff0c;将为您带…

Trello与Notion的开源替代项目管理利器Focalboard本地安装与远程访问

本篇文章将介绍如何使用 Docker 本地部署 Focalboard 项目管理工具&#xff0c;并且结合 cpolar 内网穿透进行公网访问&#xff0c;实现团队协作&#xff0c;提高工作效率&#xff01; Focalboard 是一个开源项目管理工具&#xff0c;可以替代 Asana、Trello 和 Notion 等软件…

软件项目交付支撑文档有哪些?文档下载获取

软件文档交付清单是指在软件开发项目完成后&#xff0c;开发团队需要准备的一份详细清单&#xff0c;用于确保交付的软件产品符合客户需求并达到预期的质量标准。以下是软件文档交付清单中可能包含的一些关键要素 软件开发文档&#xff1a;这包括需求文档、设计文档、测试文档等…

SignalR中的重连机制和心跳监测机制详解

一. 重连机制 声明&#xff1a;   本节仅介绍重连机制和心跳监测机制&#xff0c;基于Core 3.1框架&#xff0c;至于SignalR其它的一些基本使用&#xff0c;包括引入、Hub、配置等常规操作&#xff0c;在本节中不介绍&#xff0c;后续写Core下的SignalR 说明   默认是没有重…