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

一、下载官网压缩包(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.mzph.cn/news/634527.shtml

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

相关文章

vue:菜单栏联动内容页面tab

一、需求 需要实现效果:左侧菜单栏与右侧内容部分联动,当点击左侧的菜单,右侧会展示对应的tab,没有点击时,不展示(如刚进入页面没有点击菜单,则没有tab);点击后没有关闭…

玖章算术NineData通过阿里云PolarDB产品生态集成认证

近日,玖章算术旗下NineData 云原生智能数据管理平台 (V1.0)正式通过了阿里云PolarDB PostgreSQL版 (V11)产品集成认证测试,并获得阿里云颁发的产品生态集成认证。 测试结果表明,玖章算术旗下NineData数据管理平台 (V1.0&#xff…

Maxwell介绍

一、介绍 介绍:它读取MySQL binlog并将数据更改作为JSON写入Kafka、Kinesis和其他流媒体平台(目前支持:kafka、RabbitMQ、Redis、file、Kinesis、Nats、Google Cloud Pub/Sub、Google Cloud Bigquery、SNS) 版本:从v1.…

【车载开发系列】Autosar DCM诊断管理模块

【车载开发系列】Autosar DCM诊断管理模块 【车载开发系列】Autosar DCM诊断管理模块 【车载开发系列】Autosar DCM诊断管理模块一. DCM模块概念二. DCM模块与Autosar其他模块关系1)Dcm和PduR的交互2)Dcm和ComM模块的交互3)Dcm和Dem的交互4&a…

RocketMQ常见面试题及答案梳理

1、RocketMQ有什么作用? 异步:数据的产生方不需要关心谁来使用数据,只需要将数据发送到broker,后续需要管消费流程,Rocket也有保证消息可靠性的方案消峰:正常业务系统当流量激增时,有可能会将系统压垮,有了…

ChatGPT正确打开方式与GPT-4.5的key最新获取方式

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言4.5key价格泄漏ChatGPT4.0使用地址ChatGPT正确打开方式最新功能语音助手存档…

【2015~2024】大牛直播SDK演化史

大牛直播SDK的由来 大牛直播SDK始于2015年,最初我们只是想做个低延迟的RTMP推拉流解决方案,用于移动单兵等毫秒级延迟的场景下,我们先是实现了Android平台RTMP直播推送模块,当我们用市面上可以找到的RTMP播放器测试时延的时候&am…

网络设备的分类和功能、机柜布局、网络设备安装

网络互连设备根据不同层实现的机理不一样,又具体分为五类: 1、网络传输介质互联设备 2、网络物理层互联设备 3、数据链路层互联设备 4、网络层互联设备 5、应用层互联设备 常用设备 网络互联设备--互联设备 1、中继器 中继器是局域网互连的最简单…

恒创科技:云存储和网盘怎么区分出来?

随着互联网的发展,数据存储已成为人们日常生活中不可或缺的一部分。云存储和网盘是经常被人们提及的两种存储方式,均通过网络进行数据存储和访问的服务。但,它们在技术实现、数据安全性、访问方式和数据容量等方面存在一定的差异。要区分&…

三甲医院预约挂号系统源码,具备后台管理端和用户使用端,用户使用端包括:微信公众号、支付宝小程序

随着医疗行业的不断发展,预约挂号管理系统已成为医院管理中不可或缺的一部分。 预约挂号管理系统是一款综合性的预约挂号管理系统,帮助医院实现全方位的信息化管理,提高医疗服务质量和效率。支撑公众号、小程序、手机网上预约。 一款服务适用…

企业用户注册阿里云账号:为何选择企业实名认证及其五大优势

在数字化时代,云计算已成为企业运营不可或缺的一部分。阿里云,作为领先的云服务提供商,为企业用户提供了丰富的云产品和解决方案。但在享受这些服务之前,企业用户需要完成阿里云账号的注册和实名认证。本文将深入探讨为何企业用户…

小程序打包发行流程

工具 HBuilder X 、微信开发者工具、微信公众平台地址(微信公众平台) 配置 一、manifest.json 配置 通过 HBuilder X 打开 manifest.json 文件,找到 微信小程序配置,填写 微信小程序AppID,此 AppID 必须是本人有权…

Jvm相关知识(面试高级必备)

类的实例化顺序 先静态、先父后子 先静态:父静态>子静态 优先级:父类>子类 静态代码块>非静态代码块>构造函数 一个类的实例化过程: ①.父类的static代码块,当前类的static; ②.顺序执行…

freeswitch on centos dockerfile模式

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 centos7 docker上编译安装fs的流程记录,本文使用dockerfile模式。 环境 docker engine:Version 24.0.6 centos docker:7 freeswitch:v1.6.20 dockerfile 创建空目录…

力扣电话号码的组合

文章目录 题目说明做题思路代码实现代码解析 题目链接 题目说明 首先我们先分析一下这个题目题目中说呢先给出一个字符串这个字符串其实就是这个九键数字我们要按照要求将数字所代表的字符进行自由组合形成一个字符串并且这个字符串的长度和输入的数字字符串长度相同&#xff0…

第11章 GUI Page500~504 步骤三十二:打开画板文件02

各个图元类新增GetTypeName_Static(),并将原来的GetTypeName()改为调用静态方法实现: 直线: 圆: 十字: 矩形: 文字: tool_4_save_load.hpp添加两行 tool_4_save_load.cpp增加: 增加…

【资治通鉴】古代纪年法 ( 天干地支纪年法 | 木星纪年法 | 太岁纪年法 | 星次 | 天球 | 黄道带 | 四象二十八星宿 )

文章目录 一、天干地支纪年法二、木星纪年法1、星次2、天球3、黄道带 三、太岁纪年法四、四象二十八星宿1、四象与二十八星宿关联2、二十八星宿与星次关联3、西游记中的二十八星宿 2024 年 使用 天干地支纪年法是 甲辰年 , 使用 太岁纪年法是 阏逢执徐 ; 一、天干地支纪年法 天…

建筑能源管理系统

建筑能源管理系统是一种集成了先进的监测、控制、分析和优化技术的智能化系统,旨在提高建筑能源效率,降低能源消耗,减少环境污染,并为用户提供舒适、安全的建筑环境。通过监测建筑内的各种能源消耗情况,如电力、热水、…

arthas(阿尔萨斯)日常java代码调优使用命令

官方项目文档:https://gitee.com/arthas/arthas (最权威的教学还是得官网,这里仅作简单记录) 1:启动 java -jar arthas-boot.jar 2:查看cpu占用排名前三 thread -3 3:查看指定id thread 203 4:查…

数据结构day1

1.思维导图 2.定义一个简单宏或宏函数,实现两个数交换。 3.定义字符类型指针,指针指向n个连续堆区内存,输入,计算字符串长度 定义函数,实现内存申请 定义函数,解释字符串长度 定义函数,释放内…