Ubuntu 20.04LTS 系统离线安装5.7.44mysql数据库

Ubuntu 20.04LTS 系统离线安装5.7.44mysql数据库

    • 环境
    • 下载 MySQL 5.7.44 包
    • 安装
    • 标题检查服务是否启动成功
    • 遇到的问题
    • 登陆&修改密码&远程访问

环境

操作系统:Ubuntu 20.04.4 LTS
数据库:MySQL 5.7.34
内核版本:x86_64(amd)
网络情况:内网服务器,无法访问互联网资源

查看linux系统内核版本

uname -a

下载 MySQL 5.7.44 包

在一台有互联网连接的计算机上,访问
MySQL的下载页面
这里我遇到了一个小问题,就是官方没有专门的Ubuntu 20.04LTS系统的mysql,我不知道该使用哪个。
下面是我使用ai软件查询到的的信息。意思是linux通用版可以使用,当然也可以使用其他其他ubuntu版本或第三方版本版本的数据库,不过可能没这个版本兼容性好一些。

在你提到的 MySQL 版本中:“Linux - Generic (glibc 2.12) (x86, 64-bit)” 是适用于
Ubuntu 20.04 LTS 的版本。下面是一些选择的理由: Ubuntu 20.04 LTS 是一个64位系统:
如果你的系统是64位的(大多数现代计算机都是64位),那么你应该选择 “x86, 64-bit” 版本。 glibc版本兼容: Ubuntu
20.04 使用的是较新的 glibc 版本,所以选择一个通用的、基于 glibc 2.12 的版本是合适的,因为它将在大多数情况下与较新的 glibc 兼容。
在这里插入图片描述

安装

解压

tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

移动到指定安装位置(我的:/home 下)

sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /home

将文件重命名为mysql

 mv mysql-5.7.44-linux-glibc2.12-x86_64/ mysql/

创建文件夹

sudo mkdir -p /home/mysql/data
sudo mkdir -p /home/mysql/log

创建用户和组:

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

配置权限:

sudo chown -R mysql:mysql /home/mysql
sudo chown -R mysql:mysql /home/mysql/data
sudo chown -R mysql:mysql /home/mysql/log
sudo chmod -R 755 /home/mysql/data
sudo chmod -R 755 /home/mysql/log

3.创建my.cnf文件
添加了一些常用的配置,参数含义不理解的将配置文件放到ai里解读一下即可。

vim /etc/my.cnf

添加内容

[mysqld]
bind-address=0.0.0.0
#端口号
port=3309
user=mysql
#mysql所在目录
basedir=/home/mysql
#数据的存放目录
datadir=/home/mysql/data
#mysql.sock 存放位置
socket=/tmp/mysql.sock
#错误日志存放位置
log-error=/home/mysql/log/mysql.err
#pid 存放位置
pid-file=/home/mysql/mysql.pid
#character config
character_set_server=utf8mb4
skip-name-resolve = 0
skip-grant-tables #这个是因为忘记root密码加的
symbolic-links=0

4.初始化数据库:

#切换到对应目录
cd /home/mysql/bin
#执行初始化命令,如果不是root账号,一定要加sudo
sudo ./mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql/ --datadir=/home/mysql/data/ --initialize

5.查看mysql密码

cat /home/mysql/log/mysql.err

6.开启服务

#设置开机自启动
sudo systemctl enable mysql
#启动服务
sudo systemctl start mysql

标题检查服务是否启动成功

为什么要检查是否成功呢,因为我失败了,因为我使用的是小权限账号,因为缺乏权限遇到了很多错误。

ubuntu系统检查服务状态

sudo systemctl status mysql

查看mysql监听的ip端口

sudo ss -tlnp | grep mysql

检查配置文件是否存在
ls -l /etc/mysql/my.cnf在这里插入代码片

查看数据库版本

mysql -v

遇到的问题

mysql服务已经运行成功,但是mysql命令不被识别
检查环境变量

echo $PATH

设置环境变量: 你可能想要将 MySQL 的 bin 目录添加到 PATH 环境变量中,以便能够在任何地方使用 MySQL 命令:

echo 'export PATH=/home/mysql/bin:$PATH' >> ~/.bashrc
source ~/.bashrc 

然后msyql命令可以使用了,但是海报一个错误

mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

从网上没搜到,然后直接用6代替5使用了

创建一个符号链接,使得 libncurses.so.5 指向 libncurses.so.6:

sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.6 /lib/x86_64-linux-gnu/libncurses.so.5

我没有验证,继续使用mysql命令,又报其他依赖缺失,不过这个依赖可以下载到

mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

用在 AMD64 上 的下载页面libtinfo5_6.2-0ubuntu2.1_amd64.deb
上传上安装就可以了

sudo gdebi -n /home/hetong/*.deb

登陆&修改密码&远程访问

登陆 初始化密码去/home/mysql/log/err.log 内查

mysql -uroot -p -P3309

设置密码

alter user 'root'@'localhost' identified by 'password';

刷新

flush privileges;

切换到mysql 库

use mysql;

设置远程访问

update user set host='%' where user = 'root';

刷新

flush privileges;

参考博客:Linux 之 mysql-5.7.44 下载/安装(离线)

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

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

相关文章

0基础学前端-----CSS DAY6

0基础学前端-----CSS DAY6 视频参考:B站Pink老师 今天是CSS学习的第六天,今天开始的笔记对应Pink老师课程中的CSS第三天的内容。 本节重点:CSS的三大特性以及CSS的盒子模型。 1.CSS的三大特性 CSS有三个重要特性:层叠性、继承性…

手写Redis分布式锁+RedisUtil二次封装

文章目录 1.手写Redis分布式锁1.RedisShareLockUtil2.使用方式 2.RedisUtil二次封装1.RedisUtil2.使用案例 1.手写Redis分布式锁 1.RedisShareLockUtil package com.sunxiansheng.redis.util;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springfra…

Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 预览

文章目录 一、简介二、下载 QtPdfium三、加载 QtPdfium 动态库四、Demo 使用 关于QT Widget 其它文章请点击这里: QT Widget 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 姊妹篇: Qt WORD/PDF&#x…

IO的入门

目录 1.IO概述1.1流的分类 2.字符流2.1 案例 1.IO概述 IO(Input/Output):输入和输出,指的是某个设备或环境进行数据的输入或者输出。例如:键盘的输入,再比如显示器就是输出设备,输出图像。 对于java来说输…

el-table表格嵌套子表格:展开所有内容;对当前展开行内容修改,当前行默认展开;

原文1 原文2 原文3 一、如果全部展开 default-expand-all"true" 二、设置有数据的行打开下拉 1、父table需要绑定两个属性expand-row-key和row-key <el-table:data"tableData":expand-row-keys"expends" //expends是数组&#xff0c;设置…

canal详解及demo

提示&#xff1a;如何保证Redis中的数据与数据库中的数据一致性&#xff1f;数据同步canal的介绍和demo、大型企业如何实现mysql到redis的同步&#xff1f;使用binlog实时更新redis缓存、canal的接入教程、win下canal的服务器端、canal客户端的创建、连接、测试教程、数据同步方…

平方根无迹卡尔曼滤波(SR-UKF)的MATLAB例程,使用三维非线性的系统

本MATLAB 代码实现了平方根无迹卡尔曼滤波&#xff08;SR-UKF&#xff09;算法&#xff0c;用于处理三维非线性状态估计问题 文章目录 运行结果代码概述代码 运行结果 三轴状态曲线对比&#xff1a; 三轴误差曲线对比&#xff1a; 误差统计特性输出&#xff08;命令行截图&…

汇编DOSBox 如何使文件可以运行

1.在vscode编写&#xff08;其他也可以&#xff09;如何在vscode中编写汇编语言并在终端进行调试(保姆级别&#xff09;_如何在vscode编译asm-CSDN博客 2.点击ML615中的DOS 2.1在命令行中输入命令 ml 文件名.asm ml 文件名.obj 2.2 将生成的exe文件移动到Assembly里面 这个文件…

QT多线程(三):基于条件等待的线程同步

在多线程的程序中&#xff0c;多个线程之间的同步问题实际上就是多个线程之间的协调问题。例如在以下例子中只有等 ThreadDAQ 写满一个缓冲区之后&#xff0c;ThreadShow 和ThreadSaveFile 才能读取缓冲区的数据。 int buffer[100]; QReadWriteLock Lock; //定义读写锁变量 v…

js 数组方法总结

在 JavaScript 中&#xff0c;数组有许多内置的方法&#xff0c;可以用于操作和处理数组。以下是一些常用的数组方法及其特点&#xff1a; 1. push() - 用途&#xff1a;向数组末尾添加一个或多个元素 - 改变原数组&#xff1a;是 - 返回值&#xff1a;返回数组的新长度 let ar…

MongoDB-副本集

一、什么是 MongoDB 副本集&#xff1f; 1.副本集的定义 MongoDB 的副本集&#xff08;Replica Set&#xff09;是一组 MongoDB 服务器实例&#xff0c;它们存储同一数据集的副本&#xff0c;确保数据的高可用性和可靠性。副本集中的每个节点都有相同的数据副本&#xff0c;但…

驱动开发-入门【1】

1.内核下载地址 Linux内核源码的官方网站为https://www.kernel.org/&#xff0c;可以在该网站下载最新的Linux内核源码。进入该网站之后如下图所示&#xff1a; 从上图可以看到多个版本的内核分支&#xff0c;分别为主线版本&#xff08;mainline&#xff09;、稳定版本&#…

数字电视标准与分类

数字电视相关内容是一个极其成熟且久远的领域&#xff0c;并不像其它的技术方面那么前沿。但是学习技术的另外一个方面也不就是可以维持咱们的好奇心以及认识生活中多个事务后面的技术本质。 近年来&#xff0c;电视领域发生了一系列的变化&#xff0c;电视数字化的进程明显加快…

【WRF安装】WRF编译错误总结1:HDF5库包安装

目录 1 HDF5库包安装有误&#xff1a;HDF5 not set in environment. Will configure WRF for use without.HDF5的重新编译 错误原因1&#xff1a;提示 overflow 错误1. 检查系统是否缺少依赖库或工具2. 检查和更新编译器版本3. 检查 ./configure 报错信息4. 检查系统环境变量5.…

51c嵌入式~单片机~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、STM32代码远程升级之IAP编程 IAP是什么 有时项目上需要远程升级单片机程序&#xff0c;此时需要接触到IAP编程。 IAP即为In Application Programming&#xff0c;解释为在应用中编程&#xff0c;用户自己的…

LeetCode 11. 盛最多水的容器(超简单讲解)

11. 盛最多水的容器 题目示例示例1示例2 解题思路双指针实现设计 详细代码 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多…

Spring Boot 集成 Elasticsearch怎样在不启动es的情况下正常启动服务

解释 在spingboot 集成es客户端后&#xff0c;每当服务启动时&#xff0c;服务默认都会查看es中是否已经创建了对应的索引&#xff0c;如果没有索引则创建。基于上面的规则我们可以通过配置不自动创建索引来达到在没有es服务的情况下正常启动服务。 解决办法 在entity类的Docu…

IOTIQS100芯片, TCP 发送数据+NSOSD,data要是hex16进制转换方法

命令&#xff1a;data以十六进制字符串格式发送的数据。 方法 代码 sprintf(temp, "%02X", data[i]);&#xff1a;将当前字节转换为两位宽的大写十六进制字符&#xff0c;并存储在 temp 中。如果需要小写字母&#xff0c;可以将格式说明符改为 "%02x"。 …

Python的3D可视化库【vedo】2-3 (plotter模块) 增删物体、控制相机

文章目录 4 Plotter类的方法4.3 渲染器内的物体操作4.3.1 添加物体4.3.2 移除物体4.3.3 渲染器的内容列表 4.4 相机控制4.4.1 访问相机对象4.4.2 重置相机状态4.4.3 移动相机位置4.4.4 改变相机焦点4.4.5 改变相机朝向的平面4.4.5 旋转相机4.4.6 对齐相机的上朝向4.4.7 缩放 ve…

Mumu模拟器12开启ADB调试方法

在使用安卓模拟器进行开发或调试时&#xff0c;ADB&#xff08;Android Debug Bridge&#xff09;是一项不可或缺的工具。大多数模拟器默认开启了ADB调试功能&#xff0c;但在安装最新版的 Mumu模拟器12 时&#xff0c;可能会遇到 adb devices 无法识别设备的问题。 问题描述 …