Linux系统离线部署MySQL详细教程(带每步骤图文教程)

1、登录官网下载对应的安装包

MySQL :: Developer Zone

2、将压缩包上传到服务器上,这里直接上传到/usr/local路径上

使用sftp工具上传到/usr/local目录上

3、解压压缩包

tar -xf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz

4、将mysql-8.0.39-linux-glibc2.17-x86_64目录重命名为mysql

在/usr/mysql/目录下

mv mysql-8.0.39-linux-glibc2.17-x86_64 mysql

5、创建用户组

groupadd mysql #创建用户组

useradd -r -g mysql mysql

# -r 参数表示mysql 用户是系统用户,不可用于登录系统;

# -g 将用户mysql添加到用户组mysql中

6、分配用户组,将文件属性、组属性改为mysql

chown -R mysql /usr/local/mysql/ # 将文件的所有属性改为mysql用户

chgrp -R mysql /usr/local/mysql/ # 将组属性改为mysql组

7、创建新的数据目录(也可以使用默认的数据目录,一般在/var目录下)

mkdir -p /data/mysql #创建数据目录

chown mysql:mysql -R /data/mysql# 将新目录文件的所有属性改为mysql用户

8、修改MySQL服务器配置文件

vim /etc/my.cnf

添加如下配置信息

[mysqld]

port=3306 # 设置MySQL服务监听端口,默认3306

bind-address=0.0.0.0# 设置MySQL服务器绑定的IP地址,可以设置为自己本机IP

user=mysql # 设置MySQL数据库用户

basedir=/usr/local/mysql # 数据库文件路径

datadir=/data/mysql # 数据库数据目录,存储数据库文件的路径

socket=/tmp/mysql.sock # 设置MySQL服务器使用的套接字文件路径

pid-file=/data/mysql/mysql.pid # 设置指定存放进程ID的文件

character_set_server=utf8mb4 # 设置每个连接的默认字符集

symbolic-links=0

explicit_defaults_for_timestamp=true # mysql-5.6.6丢弃了这个系统变量,版本高于5.6.6的可加上

9、初始化数据库

先切换到mysql路径,再执行初始化

cd /usr/local/mysql/bin

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

–basedir 为mysql解压目录,–datadir 为mysql数据存放目录,就是在/etc/my.cnf配置的路径

PS:此步骤可能因glibc依赖问题会报错,如报错可参考第15条的解决方法。

10、初始化后就可以查看mysql初始密码了

cat /data/mysql/mysql.err

11、加入到系统服务,启动mysql服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

PS:此步骤重启mysql服务可能会log-err文件目录不存在报错,可参考第15条的解决方法。

12、MySQL服务启动成功后,就可以登录到mysql数据库

/usr/local/mysql/bin/mysql -u root -p

输入刚开始初始化后查看到的初始密码,即可完成进入mysql数据库

PS:如果想直接使用mysql -u root -p 直接登录,则需要先把mysql的路径映射链接到/usr/bin目录下

ln -s /usr/local/mysql/bin/mysql /usr/bin

13、更改mysql数据库登录初始密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;

FLUSH PRIVILEGES; #刷新

14、完成部署

退出数据库,再次登录即可输入更改的密码,到此mysql已经部署完成,成功部署。

15、部署时可能出现的问题

1、初始化数据库报错

初始化数据库的时候报“./mysqld:/lib64/libstdc++.so.6:version ‘CXXABI 1.3.11’ not found (required by ./mysqld)”

此报错是缺少对应的libstdc++版本依赖问题,可以先查看对应的版本

strings /usr/lib64/libstdc++ |grep CXXABI

find / -name “libstdc++.so.6*”

可以看到是缺少相应的版本依赖。

(1)解决办法

1)可以看缺少那些依赖就安装对应的依赖版本

  1. 使用rpm查看glibc版本,然后去官网下载对应的版本即可

2、启动mysql服务报错

启动mysql服务时可能会报“Starting MySQL.2024-09-20T09:32:58.959370Z mysqld safe error:log-errorr set to/var/log/mariadb/mariadb.log’,however file don’t exists.Create writable for us ‘mysql’”

**(1)**解决方法

此错误时没有对应的目录和文件,进行创建目录和文件即可

mkdir /var/log/mariadb/

touch /var/log/mariadb/mariadb.log

chown -R mysql:mysql /var/log/mariadb/

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

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

相关文章

鸿蒙开发实战二 TypeScript和JavaScript的区别

简介 基于第一篇文章中提到的:https://mp.csdn.net/mp_blog/creation/editor/143515906 声明式开发范式:采用基于TypeScript声明式UI语法扩展而来的ArkTS语言,从组件、动画和状态管理三个维度提供UI绘制能力。 类Web开发范式:采…

初学stm32 --- CAN

目录 CAN介绍 CAN总线拓扑图 CAN总线特点 CAN应用场景 CAN物理层 CAN收发器芯片介绍 CAN协议层 数据帧介绍 CAN位时序介绍 数据同步过程 硬件同步 再同步 CAN总线仲裁 STM32 CAN控制器介绍 CAN控制器模式 CAN控制器模式 CAN控制器框图 发送处理 接收处理 接收过…

Mybatis-Plus:乐观锁与悲观锁

文章目录 一、场景二、乐观锁与悲观锁三、模拟修改冲突3.1 数据库中增加商品表3.2 添加数据3.3 添加实体3.4 添加mapper3.5 测试 四、乐观锁实现流程4.1 Mybatis-Plus实现乐观锁 一、场景 一件商品,成本价是80元,售价是100元。老板先是通知小李&#xf…

MySQL 8.0在windows环境安装及配置

文章目录 一、下载二、安装三、配置环境变量 一、下载 1、先彻底卸载之前的MySQL,并清理其 残留文件 。 2、登录网址https://www.mysql.com/ 3、点击网址左下角“中文”按钮,切换到中文界面 4、点击网页上方的“下载”按钮,然后点击网…

Python 实现 NLP 的完整流程

💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…

redux 结合 @reduxjs/toolkit 的使用

1,使用步骤 使用React Toolkit 创建 counterStore(store目录下) --> 为React注入store(src下面的index) --> React组件使用store中的数据(组件) 2,例如下面有一个简单加减的…

GDC杂感:怎么提高游戏销量?

1、2018年的一个独立游戏制作人在GDC分享了其教训总结,得奖但销量不佳, 大意是:画面,辨识度的重要性,平庸的游戏容易扑街; 直播对不同类型的作用不同,差别能达到几十倍。 游戏品质与销量并不…

【Kotlin】上手学习之类型篇

一、类型 1.1 基本类型 主要分为 数字及其无符号版布尔字符字符串数组 1.1.1 数字 整数类型 Kotlin 提供了一组表示数字的内置类型。 对于整数,有四种不同大小的类型,因此值的范围也不同: 类型大小(比特数)最小…

迅为RK3576开发板Android 多屏显示

迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。 1.1 Android 多屏同显 iTOP-RK3576 开发板支持…

解决关于Xcode16提交审核报错

# 问题描述 The following issues occurred while distributing your application. Asset validation failed Invalid Executable. The executable xxx.app/Frameworks/HappyDNS.framework/HappyDNS contains bitcode.(lD:ef5dd249-731f-4731-8173-8e4a12519352) Asset valida…

语义检索效果差?深度学习rerank VS 统计rerank选哪个

前段时间我开发了一个用白话文搜索语义相近的古诗词的应用(详见:《朋友圈装腔指南:如何用向量数据库把大白话变成古诗词》),但是有时候搜索结果却不让人满意,排名靠前的结果和查询的语义没啥关系&#xff0…

Linux 常用命令 - chmod 【改变文件或目录权限】

简介 “chmod” 这个命令来自于 “change mode” 的缩写,用于更改文件或目录的访问权限。这个命令允许用户设定谁可以读取、写入或执行一个文件。在 Linux 和其他类 Unix 系统中,文件权限对系统安全和用户隐私至关重要。 Linux/Unix 的文件调用权限分为…

基于机器学习的电信用户流失预测与数据分析可视化

完整源码项目包获取→点击文章末尾名片! 背景描述 根据IBM商业社区分享团队描述,该数据集为某电信公司在加利福尼亚为7000余位用户(个人/家庭)提供电话和互联网服务的相关记录。描述用户基本情况,包括每位用户已注册的…

【Sql递归查询】Mysql、Oracle、SQL Server、PostgreSQL 实现递归查询的区别与案例(详解)

文章目录 Mysql 5.7 递归查询Mysql 8 实现递归查询Oracle递归示例SQL Server 递归查询示例PostgreSQL 递归查询示例 更多相关内容可查看 Mysql 5.7 递归查询 MySQL 5.7 本身不直接支持标准 SQL 中的递归查询语法(如 WITH RECURSIVE 这种常见的递归查询方式&#xf…

接上篇基于Alertmanager 配置钉钉告警

Alertmanager 是一个用于处理和管理 Prometheus 警报的开源工具。它负责接收来自 Prometheus 服务器的警报,进行去重、分组、静默、抑制等操作,并通过电子邮件、PagerDuty、Slack 等多种渠道发送通知。 主要功能 去重:合并相同或相似的警报&…

Qt应用之MDI(多文档设计)

qt creator 版本6.8.0 MinGW 64bit 由此模块可以扩展成设计一个qt文本编辑器。 界面如下 部分功能展示如下 新建文件 打开文件 mdi模式、级联模式和平铺模式 界面和程序构建过程。 1.如图所需.cpp和.h文件 2.mainwindow.ui和tformdoc.ui界面布局如下 不懂什么是Action如何…

软件授权管理中的软件激活向导示例

软件激活向导示例 在软件许可中,提供许可应该是简单和安全的。这适用于想要在中央许可证服务器上创建新许可证的软件开发人员,也适用于需要在其设备上获得许可证的最终用户。如果所讨论的系统有互联网连接,或是暂时的连接,就可以…

GB44495-2024 汽车整车信息安全技术要求 - V2X部分前置要求

背景 GB 44495-2024《汽车整车信息安全技术要求》中关于V2X(车与外界通信)的部分,主要关注于通信安全要求,旨在确保车辆在与外部设备进行数据交互时的信息安全。其测试大致可分为消息层(数据无异常)、应用…

phpstudy靶场搭建问题

前言: 靶场搭建遇到的问题,记录一下,可能是基础不牢吧,老是遇到奇奇怪怪的问题 思路: 跟着网上的搭建走一遍 内容: 目录 搭建pikachu遇到的问题 搭建pikachu遇到的问题 其实并不是第一次搭建&#x…

【Excel】【VBA】双列排序:坐标从Y从大到小排列之后相同Y坐标的行再对X从小到大排列

Excel VBA 双列排序 功能概述 这段VBA代码实现了Excel中的双列排序功能,具体是: 跳过前3行表头先按C列数据从大到小排序在C列值相同的情况下,按B列从大到小排序排序时保持整行数据的完整性 流程图 #mermaid-svg-XJERemQluZlM4K8l {font-fa…