mysql 安装全过程(linux上二进制包安装)

news2024/11/25 2:52:00

介绍

mysql 是一种RDBMS  关系型数据库管理系统 Relational Database Management System

关系型数据库将数据保存在不同的表中,而不是放在一个大仓库内,增加了速度,提高了灵活性。

.

mysql版本

5.7.x    和    8.0.x    是目前主流。2个版本有性能上差异。

一般三个月迭代一个小版本

.

安装

1、下载

去官网 https://dev.mysql.com/downloads/mysql/ 下载 Community(社区版) 的 generic(通用版)  二进制包文件。

mysql一般不用源码包编译因为时间太久。

.

看一下自己系统的C文件库是多少版本

 

 .

2、解压

下载文件名为 mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz  ,需用 J 而不是 z 来解压。

tar Jxvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz

.

做一个软链接让名字变短点。

ln -s mysql-8.0.33-linux-glibc2.17-x86_64-minimal mysql

 

 .

3、创建用户

useradd  -s  /sbin/nologin  mysql       创建一个无系统登录权限的mysql用户

useradd -s /sbin/nologin mysql

.

4、创建数据目录

mkdir -p /data/mysql

最好是单独在一个大的分区且是性能比较好的磁盘。数据库对磁盘读写的性能要求比较高。

.

设定数据目录的属主属组为要写入的用户名

chown -R mysql:mysql /data/mysql

.

5、核心配置文件

/etc/my.cnf      

( 很多linux会默认自带有mariadb的配置文件,看内容可识别出来)

客户端【mysql】可配置端口和socket等,也可不配置。

重要的是服务端【mysqld】的配置,介绍几个最核心配置:

basedir 指定mysql程序路径

datadir 指定数据存放路径

socket是linux进程之间通信的一种方式

pid-file  是记录进程启动以后会产生的一个pid 

log-error  错误日志记录的位置

plugin_dir  mysql中plugin插件所在的路径;

symbolic-links=0    符号连接。如果设置为1,则mysql数据库和表里的数据支持储存在datadir目录之外的路径下,默认都是0

.

6、安装依赖

7、初始化mysql文件

初次运行 mysql 先要让指定的数据目录/data/mysql 产生初始文件。

/usr/local/mysql/bin/mysqld --console --initialize-insecure --user=mysql

--console   让返回打印在控制台。

--initialize-insecure    产生初始化文件。 -insecure 使用空密码的方式

--user   初始化使用的用户名,这样产生的文件属主属组都是这个用户的

.

--console 在启动时候的产生打印效果如下,这部分也可以在log日志中看到

.

 --user = mysql 产生的效果

(上一步只是进行初始化,mysql 初始化结束后也并没有启动)

8、启动服务

写启动服务的脚步

vi /usr/lib/systemd/system/mysqld.service

(这些启动服务模板具有通用性)

[Unit]
Description=Mysql server
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=forking
TimeoutSec=0
PermissionsStartOnly=true

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize $OPTIONS
ExecReload=/bin/kill -HUP -$MAINPID  
ExecStop=/bin/kill -s QUIT $MAINPID 

KillMode=process
LimitNOFILE=65535
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=1
PrivateTmp=false

--defaults-file=   指定启动时的配置文件。这里不指定也可以,因为mysql本身就默认会找这个文件

--daemonize   表示后台启动

ExecReload=/bin/kill -HUP -$MAINPID       杀掉进程,可以加 -s HUP  强制杀掉,下面QUIT 也可以改为 -s QUIT 强制退出。

-$MAINPID 就是定义的.pid文件

.

编辑好启动服务文件后,因为是新配置的启动服务,因此需要重置一下系统服务

systemctl daemon-reload

.

启动服务

systemctl start mysqld

可以从ps看到记录的mysql服务启动的命令就是 mysql.service 里定义的 ExecStart 命令

.

把服务设为开机自启动

systemctl enable mysqld

.

.

9、配置环境变量

 

为了使 mysql 的命令能直接输入运行,需要加入环境变量。不然只能用绝对路径 /usr/local/mysql/bin/XXX

vi  /etc/profile     

把mysql的路径加进去。

 source /etc/profile               #重载让文件生效

可能遇到错误:

1) libaio.so.1 缺少

 这个错误是在初始化没装依赖  情况下会发生的。

yum provides "/*/libaio.so.1"

i686是32 位的。 x86_64是64位的。

uname  -a    #查看下当前系统的架构

yum install libaio-0.3.109-13.el7.x86_64  -y

2)The designated data directory /data/mysql/ is unusable

数据库存储目录没有使用权,可能是初始化过了需要remove;可能是这个文件夹的属组属主并不是 --user= 设定的那个

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RT-Thread 在线软件包改为本地软件包的方法

问题描述 RT-Thread 的软件包,使用时,需要手动通过 ENV 工具 更新到 本地的 packages 目录,并且 packages 目录默认不参与 Git 工程管理,软件包多了,并且偶尔需要更改软件包本身的一些代码,这就造成了软件项…

Spring 依赖注入源码

文章目录 依赖注入原始依赖注入方式注解方式寻找注入点注入点进行注入 从BeanFactory中找注入对象总结 依赖注入 具体代码是在AbstractAutowireCapableBeanFactory类的populateBean()方法,此方法中主要做的事情如下: 实例化之后,调用Instan…

【Java校招面试】基础知识(二)——Spring Framework AOP

目录 前言一、Spring Framewwork基础知识二、Spring AOP基础概念1. 切面(Aspect)2. 织入(Weaving)3. 增强(Advice)4. 动态代理 三、JDK动态代理1. 基本用法2. 原理分析 四、CGLib动态代理1. 基本用法2. 原理…

【五一创作】使用Resnet残差网络对图像进行分类(猫十二分类,模型定义、训练、保存、预测)(二)

使用Resnet残差网络对图像进行分类 (猫十二分类,模型定义、训练、保存、预测)(二) 目录 (6)、数据集划分 (7)、训练集增强 (8)、装载数据集 &#xff08…

山东专升本计算机第十一章-新一代信息技术

新一代信息技术 物联网 概念 物联网就是物物相连的互联网,其核心和基础仍然是互联网 计算机,互联网之后信息产业发展的第三次浪潮 推入人类进入智能时代,又称物联时代 三大特征 全面感知 可靠传递 智能处理 • 物联网的最核心 技术架…

阿里云g8i服务器ECS通用型服务器CPU处理器性能测评

阿里云服务器ECS通用型实例规格族g8i采用2.7 GHz主频的Intel Xeon(Sapphire Rapids) Platinum 8475B处理器,3.2 GHz睿频,g8i实例采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。阿里云百科分享阿里云服…

JavaScript 入门(1)

script 标签 <scrtipt> 标签可以插入到HTML中的任何位置在很老的代码中需使用type属性&#xff0c;但是现在的代码中不需要 <script type"text/javascript"><!-- ... //--></script>外部脚本 通过src 属性将脚本添加到HTML中 <script …

Maven的全面讲解及如何安装使用

Maven是一种流行的Java项目管理工具&#xff0c;可用于构建、测试、打包和部署Java应用程序。本文将介绍Maven的概念、安装配置、使用方法、生命周期以及IDEA集成Maven的方法。 Maven的概念 Maven是一种基于项目对象模型&#xff08;POM&#xff09;的构建工具。POM是一个XML…

【C++】位运算类题目总结

文章目录 一. 位运算符脑图二. 相关题目1. 统计二进制数中0的个数2. 数组中只出现一次的数字3. 数组中只出现一次的数字 II4. 不用加减乘除做加法 一. 位运算符脑图 二. 相关题目 1. 统计二进制数中0的个数 解题思路&#xff1a;x & (x-1)&#xff1b;它的作用是每次循环…

系统集成项目管理工程师 笔记(第18章:项目风险管理)

文章目录 18.1.2 风险的分类 54318.1.3 风险的性质 544项目风险管理6个过程&#xff08;风险管理、识别风险、实施定性风险分析、实施定量风险分析、规划风险应对、控制风险&#xff09;组织和干系人的风险态度影响因素18.3.3 规划风险管理的输出 550风险识别的原则18.4.2 识别…

针对Vue前后端分离项目的渗透思路

引言 在目前的开发环境下&#xff0c;越来越多的厂商选择 Vue.js 来实现前端功能的编写&#xff0c;且成熟的前端框架已经可以实现后端代码实现的功能&#xff0c;导致后端目前只负责提供 Api 接口和文档&#xff0c;方便前端的同时去调用。本文主要介绍如何针对这类前后端分离…

如何利用几何坐标变换后纠正技术实现倾斜摄影三维模型数据拼接?

如何利用几何坐标变换后纠正技术实现倾斜摄影三维模型数据拼接&#xff1f; 倾斜摄影三维模型数据拼接是指将多个倾斜摄影数据集合并为一个完整的三维模型。在这个过程中&#xff0c;由于不同数据集之间的相对位置和姿态不同&#xff0c;需要进行几何坐标变换以实现数据拼接。…

借用AI工具为视频添加中文字幕,消除语言障碍,母语环境最快速地学习

由于chatgpt的启动&#xff0c;感觉语言已经完全不会成为学习的障碍&#xff0c;突发奇想&#xff0c;在我们查看youtube视频的时候&#xff0c;有没有方便的工具能够将其字幕翻译为中文。这样能够极大提高在youtube学习的效率&#xff0c;于是顺手问了一下ChatGPT&#xff0c;…

Nginx—在linux的ubuntu系统上的安装使用

前言: 有关Nginx的基础知识和使用都在这里Nginx简介和快速入门_北岭山脚鼠鼠的博客-CSDN博客 常用命令: cd /usr/local/nginx/sbin/ ./nginx 启动 ./nginx -s stop 停止 ./nginx -s quit 安全退出 ./nginx -s reload 重新加载配置文件(常用) //在修改配置文件之后使用 p…

教你部署chatgpt商业版源码,支持卡密开通国内使用

教你部署chatgpt商业版源码&#xff0c;支持卡密开通国内使用 当今&#xff0c;人工智能技术在各个领域的应用越来越广泛&#xff0c;其中自然语言处理是非常重要的一环。OpenAI 的 GPT 模型是自然语言处理领域的一项重要技术&#xff0c;它可以根据已有的文本数据&#xff0c;…

Java 怎样实现代理模式,有什么优缺点

一、介绍 代理模式是一种常见的设计模式&#xff0c;它可以为其他对象提供一种代理以控制对这个对象的访问。代理对象具有与被代理对象相同的接口&#xff0c;客户端无需知道代理对象和被代理对象的区别。代理模式可以应用于各种不同的场景&#xff0c;例如远程代理、虚拟代理…

Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus

文章目录 一、Docker命令监控二、Sysdig2.1介绍2.2 基本操作2.2.1 切换视图2.2.2 查看标签含义2.2.3 排序2.2.4 查看内部进程2.2.5 查找2.2.6 暂停2.2.7 上一级2.2.8 退出 三、Weave Scope3.1介绍3.2基本操作3.2.1 显示容器3.2.2 选择容器3.2.3 按照CPU使用情况排序3.2.4 控制容…

手动开发 简单的 Spring 基于 XML 配置的程序

目录 手动开发- 简单的 Spring 基于 XML 配置的程序 需求说明 思路分析 WyxApplicationContextTest xml配置 注意 手动开发- 简单的 Spring 基于 XML 配置的程序 需求说明 1. 自己写一个简单的 Spring 容器, 通过读取 beans.xml&#xff0c;获取第 1 个 JavaBean: Mon…

【建议收藏】Pandas(一)——初见Series

文章目录 &#x1f4da;引言&#x1f4d6;库的安装以及一些说明&#x1f4d1;库的安装&#x1f4d1;一些说明 &#x1f4d6;Series&#x1f4d1;创建一个Series&#x1f516;从列表创建Series&#x1f516;从字典创建Series&#x1f516;标量创建Series &#x1f4d1;Series的特…

SpringSecurity认证原理和自定义认证

认证原理和自定义认证 认证配置表单认证注销登录前后端分离认证添加验证码 自定义认证 自定义资源权限规则 /index 公共资源/hello … 受保护资源 权限管理 在项目中添加如下配置就可以实现对资源权限规则设定: Configuration public class WebSecurityConfigurer extend…