linux单机部署mysql(离线环境解压即可)

news2024/9/27 5:47:47

一、下载官网压缩包(tar.gz)

MySQL :: Download MySQL Community Servericon-default.png?t=N7T8https://dev.mysql.com/downloads/mysql/根据自己的操作系统发行版本、位数、gclib版本、mysql版本来选择对应的压缩包

比如我是 linux系统debian10(官网只有linux generic通用版本的tar.gz包)、64位操作系统,gclib版本是2.28。(uname -m命令可查操作系统版本。ldd --version命令可查gclib版本),并且咱们选择的是8.0以上的mysql版本。

uname -m

ldd --version

我们复制下载链接之后,直接wget下载,输入以下命令

cd /root/soft

wget ​​​​​​https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz

二、解压缩

解压缩,把解压目录重命名为mysql8

tar -zxvf mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz

mv mysql-8.0.34-linux-glibc2.28-x86_64 mysql8

三、添加PATH环境变量

echo "export PATH=$PATH:/usr/local/mysql8/bin" >>/etc/profile  # 编辑 /etc/profile 文件

source /etc/profile   # 使更改生效

查看环境变量是否生效

mysql --version

四、准备目录并赋权

cd mysql8

mkdir data

cd data

#datas用于存放数据,logs用于存放日志

mkdir datas logs 

cd /root/soft

chmod -R 750 mysql8

五、创建配置文件my.cnf

cd /etc

touch my.cnf

vim my.cnf

配置内容如下,这边只配了最最重要的,其他后续再补充:

[mysqld]
port=3306
basedir=/root/soft/mysql8
datadir=/root/soft/mysql8/data/datas
socket=/tmp/mysql.sock
pid-file=/root/soft/mysql8/data/logs/mysql.pid
log-error=/root/soft/mysql8/data/logs/error.log
tmpdir=/tmp
server_id=1
user=root

#数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server=utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci

#若你的MySQL数据库主要运行在境外,请务必根据实际情况调整本参数
default_time_zone = "+8:00"

#是否启用慢查询日志,1为启用,0为禁用  
slow_query_log = 1
#指定慢查询日志文件的路径和名字
slow_query_log_file = /root/soft/mysql8/data/logs/slow.log
#慢查询执行的秒数,必须达到此值可被记录
long_query_time = 3

#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800

#####RedoLog日志 和 binlog日志的写磁盘频率设置 BEGIN ###################################
# RedoLog日志(用于增删改事务操作) +  binlog日志(用于归档,主从复制)
# 为什么会有两份日志呢? 
# 因为最开始MySQL没有 InnoDB 引擎,自带MyISAM引擎没有 crash-safe能力,binlog日志只用于归档
# InnoDB 引擎是另一个公司以插件形式引入MySQL的,采用RedoLog日志来实现 crash-safe 能力

# redo log 的写入(即事务操作)拆成两阶段提交(2PC):prepare阶段 和 commit阶段
#(事务步骤1) 执行commit命令,InnoDB redo log 写盘,然后告知Mysql执行器:[你可以写binlog了,且一并提交事务],事务进入 prepare 状态
#(事务步骤2) 如果前面 prepare 成功,Mysql执行器生成 binlog 并且将binlog日志写盘
#(事务步骤3) 如果binlog写盘成功,Mysql执行器一并调用InnoDB引擎的提交事务接口,事务进入 commit 状态,操作完成,事务结束

#innodb_flush_log_at_trx_commit:取值:0/1/2,默认值1,是 InnoDB 引擎特有的,ib_logfile的刷新方式(记录的是redo log和undo log的信息)
#innodb_flush_log_at_trx_commit=0,表示每次事务提交时不进行刷盘操作(系统默认 master thread 每隔 1s 进行一次重做日志的同步)。兼顾安全性和性能。
#innodb_flush_log_at_trx_commit=1,表示每次事务提交时都将进行同步,刷盘操作(默认值)。最安全。
#innodb_flush_log_at_trx_commit=2,表示每次事务提交时都只把redo log buffer内容写入page cache,不进行同步。由操作系统自己决定什么时候同步到磁盘文件。最不安全。

#sync_binlog:是MySQL的二进制日志(binary log)同步到磁盘的频率。取值:0-N
#sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。这个是性能最好的。
#sync_binlog=1,当每进行1次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。
#sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。


#控制 redolog 写磁盘频,安全性要求一般设为0即可,支付业务设为1
innodb_flush_log_at_trx_commit = 0

#控制 binlog 写磁盘频率,建议0到100,并发高可设置100
sync_binlog = 20

#####RedoLog日志 和 binlog日志的写磁盘频率设置 END #####################################

[client]
default-character-set=utf8mb4
socket=/tmp/mysql.sock
[mysql]
default-character-set = utf8mb4

更完整的参数可以查看下面官网文档的链接:

https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.htmlicon-default.png?t=N7T8http://xn--5-uc2b586h.xn--7-818a010cpwbkdq3ik0c386aen5ehttps://dev.mysql.com/doc/refman/8.0/en/server-system-variables.htmlicon-default.png?t=N7T8http://xn--8-uc2b586h.xn--0-818a010cpwbkdq3ik0c386aen5e

也可以参考这篇博客

MySQL8配置文件详解_mysql8.03 配置文件-CSDN博客

六、初始化mysql

mysqld --defaults-file=/etc/my.cnf --basedir=/root/soft/mysql8 --datadir=/root/soft/mysql8/data/datas --user=root --initialize-insecure

各参数意义
            --defaults-file: 指定配置文件 (放在--initialize-insecure前)
            --user: 指定用户
            --basedir: 指定安装目录
            --datadir: 指定初始化数据目录
            --initialize-insecure: 初始化设置空密码(若无该参数,理论上会随机生成密码,需在/root/soft/mysql/data/logs/error.log中查看,但是实际情况我这边会初始化失败)

或者你也可以在配置文件中去配置basedir,datadir,user等信息,这样你就不用写这些选项了

mysqld --defaults-file=/etc/my.cnf  --initialize-insecure

如果生产环境或云服务设置了空密码,后续记得修改

七、启动MySQL

命令如下

mysqld_safe --defaults-file=/etc/my.cnf &

查看是否启动成功

ps -ef|grep mysql

如果失败可以查日志,不过一般失败原因都是my.cnf配置不对,或者目录没创建或者目录没权限,解决办法:先解决上面提到的问题,重新创建并赋权datas和logs目录,重新初始化和启动就好。

cd /root/soft/mysql8/data

tail -1111f logs/error.log

停止mysql服务命令如下

mysqladmin -uroot -p shutdown

八、连接mysql

mysql -uroot -p

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

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

相关文章

Doris配置外表以及多个Hive外表的配置

1.场景分析 以Clickhouse、Doris、Starrocks等为代表的mpp分析数据库正在快速的兴起,以其高效查询、跨库整合能力收到广大技术人员的喜爱。本文主要浅显介绍下作者在使用Doris时,通过建立catlog进行跨库查询。 废话不多少,直接上代码 2.相关…

RIP基础实验配置

要使用RIP完成以上命令需求 1,首先划分ip地址 有图可见有四个网段需要划分 192.168.1.0/26 192.168.3.0/26 192.168.7.0/26 192.168.5.0/26 给两个骨干网段,给两个环回接口,由下图所示: 其次,规划好ip后在各个接口…

hash应用

目录 一、位图 1.1、引出位图 1.2、位图的概念 1.3、位图的应用 1.4、位图模拟实现 二、布隆过滤器 2.1、什么是布隆过滤器 2.2、布隆过滤器应用的场景 2.3、布隆过滤器的原理 2.4、布隆过滤器的查找 2.5、布隆过滤器的插入 2.6、布隆过滤器的删除 2.7、布隆过滤器…

操作系统-操作系统的运行机制(内核程序 应用程序 特权指令 非特权指令 内核态 用户态 变态)

文章目录 总览预备知识:程序是如何运行的?内核程序vs应用程序特权指令vs非特权指令内核态vs用户态用户态,内核态的切换小结 总览 预备知识:程序是如何运行的? 转换为机器码放入内存,然后按顺序执行 内核…

跟着pink老师前端入门教程-day06

十一、CSS 的背景 通过CSS背景属性,可以给页面元素添加背景样式 背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。 11.1 背景颜色 background-color 属性定义了元素的背景颜色 一般情况下元素背景颜色默认值是transparent&…

[足式机器人]Part2 Dr. CAN学习笔记- Kalman Filter卡尔曼滤波器Ch05-1+2

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - Kalman Filter卡尔曼滤波器 Ch05-12 1. Recursive Algirithm 递归算法2. Data Fusion 数据融合Covarince Matrix协方差矩阵State Space状态空间方程 Observation观测器 1. Recursive Algirithm…

[力扣 Hot100]Day7 接雨水

题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 出处 思路 就是寻找“凹”形区间,找使得左右两端点为最大的两个值的最长区间。这里我分了两种情况,右边大于等于左边…

【前端设计】输入框

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 html <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

Message queue 消息队列--RabbitMQ 【基础入门】

一&#xff0c;Message queue介绍&#xff1a; 1.1使用消息队列的优点&#xff1a; 服务之间最常见的通信方式是直接调用彼此来通信,消息从一端发出后立即就可以达到另一端,称为即时消息通讯(同步通信) 消息从某一端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由…

数据集成时表模型同步方法解析

01 背景介绍 数据治理的第一步&#xff0c;也是数据中台的一个基础功能 — 即将来自各类业务数据源的数据&#xff0c;同步集成至中台 ODS 层。业务数据源多种多样&#xff0c;单单可能涉及到的主流关系型数据库就有近十种。功能更加全面的数据中台通常还具有对接非关系型数据…

c++:基于c语言基础上的语法不同(1)

前言&#xff1a;此篇文章适合学完c语言基础概念的同学&#xff0c;是帮助c向c语言的同学快速掌握基本语法。 基础格式 #include<iostream>using namespace std; int main() {system("pause");return 0; } 输入&#xff1a; cin>>a;//a是输入内容 输出…

使用Python的pygame库实现下雪的效果

使用Python的pygame库实现下雪的效果 关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 先给出效果图&#xff1a; 源码如下&#xff1a; import pygame import random# 初始化pygame pygame.init()# 设置屏幕尺寸 width…

深入理解Redis数据结构

目录 Redis的单线程 Redis单线程快的原因 Redis 单线程处理高并发客户端连接 Redis数据结构 字符串&#xff08;String&#xff09; 常用方法 数据结构 哈希表&#xff08;Hash&#xff09; 常用方法 数据结构 列表&#xff08;List&#xff09; 常用方法 数据结构…

[bat]0基础实现自动化办公-基于start实现一键打开常用软件/文档

一、应用背景 每次开机时&#xff0c;都要一个个打开常用软件&#xff0c;比如微信、QQ或是word文档、excel表格等程序&#xff0c;比较费时。 二、方案 使用bat脚本中的start方法&#xff0c;通过将需要打开的程序或文件写入到bat脚本中&#xff0c;运行bat脚本从而实现一键…

X-Bogus加密参数分析与jsvmp算法(仅供学习)

文章目录 1. 抓包分析2. X-Bogus参数分析 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感兴趣的朋友可以关注《爬虫…

【根据loss曲线看模型微调效果】如何使用loss曲线诊断机器学习模型性能

一、Loss曲线 在模型的预训练或者微调过程中&#xff0c;我们一般通过观察loss曲线来得出模型对于数据集的学习效果等信息。那么我们如何根据loss曲线得到一些信息呢&#xff1f; 通常数据集会被划分成三部分&#xff0c;训练集&#xff08;training dataset&#xff09;、验证…

VR风景园林虚拟仿真系统编辑工具支持可视化预览成本低

为了帮助更多人快速、高效地构建虚拟现实应用系统&#xff0c;提高开发效率&#xff0c;降低成本投入&#xff0c;VR虚拟现实交互系统编辑器作为一种用于创建和编辑虚拟现实应用程序的工具&#xff0c;采用可视化界面提示和简单操作就能快速制作VR虚拟现实交互系统。 VR虚拟现实…

centos7安装nginx,按图文步骤操作

下载nginx&#xff1a; 官方网站&#xff1a;http://nginx.org/ 我这使用的版本是1.8.0版本。 1.nginx要求的安装环境 1.1、需要安装gcc的环境。 yum install gcc-c 1.2、第三方的开发包。 pcre PCRE(Perl Compatible Regular Expressions)是一个Perl库&#xff0c;包括…

行云部署前端架构解析-前言 | 京东云技术团队

一个简单的自我介绍 项目规模 截止目前上万次代码提交&#xff0c;总代码行数1超过21万行&#xff0c;其中人工维护的代码超过 13万行&#xff0c;近千个文件。 前端线上服务直接对接的后端服务&#xff0c;达十多个。 跟很多应用一样, 它有行云的入口, 也有独立的服务, 还…

C++ 之LeetCode刷题记录(十三)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可…