首页 > 数据库 >ubuntu18离线安装mysql8.0

ubuntu18离线安装mysql8.0

时间:2023-12-22 14:48:11浏览次数:47  
标签:8.0 MySQL 离线 mysql8.0 arm64 ubuntu18 mysql deb root

参考文档

Ubuntu中使用apt下载离线包以及相关依赖包 - 厚礼蝎 - 博客园 (cnblogs.com)

ubuntu18.04安装mysql8.0详细教程及踩坑解决方法(包含删除Mysql5.7版本方法)_ubuntu编译安装mysql-CSDN博客

如何配置MySQL8中的lower_case_table_names来让其忽略大小写? – 就是这个范儿 (thisfaner.com)

背景介绍

文档是在个人环境中复现一遍,并非实际生产环境的步骤,因为生产环境涉及公司敏感数据。

接到一个需求要在没有网络环境的Ubuntu 18.04.5 LTS机器上安装MySQL8.x版本,用于作为BI工具的数据存储。

MySQL官网下载列表中没有Ubuntu 18.04 对应的MySQL8.x版本的包,如下图所示

环境说明

网络:机器上没有网络,apt虽然做了代理但是无法获取apt的签名,因为签名需要网络环境

操作系统:Ubuntu 18.04.5 LTS

特殊配置:lower_case_table_names=1 (忽略大小写)

lower_case_table_names 的值:
如果设置为 0,表名将按指定方式存储,并且在对比表名时区分大小写。
如果设置为 1,表名将以小写形式存储在磁盘上,在对比表名时不区分大小写。
如果设置为 2,则表名按给定格式存储,但以小写形式进行比较。
IP地址 角色 主机名 目的
10.0.0.10 有网络 havenetwork 制作离线安装包
10.0.0.11 无网络 notnetwork 需要安装mysql8.0的目标机器

解决思路:

通过aptitude的方式在有网络的Ubuntu 18.04机器下载好MySQL8.0的包并打包压缩传送到无网络环境的机器上进行安装。

操作步骤

获取mysql8.0的apt缓存包 ---> 发送到目标机器 ---> 设置lower_case_table_names=1 --->安装 ---> 安装后验证

制作离线包

# 安装aptitude
root@havenetwork:~# apt install aptitude

# 下载存储库软件包
root@havenetwork:~# wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb

# 安装 (安装过程中提示选择安装版本,默认安装的就是8.0版本,所以直接选择“OK”确认即可)
root@havenetwork:~# dpkg -i mysql-apt-config_0.8.10-1_all.deb
root@havenetwork:~# apt update
# 如果出现下面错误则需要添加仓库签名
W: GPG error: http://repo.mysql.com/apt/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
# 添加仓库签名
root@havenetwork:~# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
# 继续 apt update
root@havenetwork:~# apt update
# 使用方法
root@havenetwork:~# aptitude --download-only install  mysql-server
# 文件下载的位置(这里跟yum的工具还不一样,yum可以直接下载到指定文件夹, aptitude只能下载到 /var/cache/apt/archives 目录下,目录下.deb结尾的就是)

# 安装命令
dpkg -i *.deb

发送到目标机器

cd /var/cache/apt/archives
mkdir mysql_8.0
mv mysql-* mysql_8.0/
tar -zcvf mysql_8.0.tar.gz mysql_8.0/*
scp mysql_8.0.tar.gz [email protected]:/root/

设置lower_case_table_names

在MySQL数据库中我们可以通过配置 lower_case_table_names=1 来让其忽略大小写。在 MySQL 8 以下版本我们很好配置,但在 MySQL 8 中配置起来却有些麻烦。必须在初始化 MySQL 服务器(安装 MySQL 后的首次启动)之前将 lower_case_table_names 配置为所需的值。 在大多数情况下,这需要在首次启动 MySQL 服务器之前在 MySQL 配置文件中设置 lower_case_table_names

但是,当你在 Debian 和 Ubuntu 使用 APT 安装 MySQL 时,系统将自动为您初始化 MySQL,并且没有机会事先在配置文件中设置该值。因此,在使用 APT 安装 MySQL 之前, 必须使用 debconf-set-selection 实用程序来启用小写的表名。为此,请在使用 APT 安 装 MySQL 之前运行此命令(官方给出的命令)

sudo debconf-set-selections <<< "mysql-server mysql-server/lowercase-table-names select Enabled"

在 MySQL 8 中,数据目录初始化之后,不再允许更改 lower_case_table_names = 1 的 值;

MySQL 基于某些原因,禁止在重新启动 MySQL 服务时将 lower_case_table_names 设置 成不同于初始化 MySQL 服务时设置的 lower_case_table_names 值。

也就是说启动(重启)MySQL 时,lower_case_table_names的值必须于,初始化 MySQL 时(安装 MySQL 后的首次启动)的值相同。

输入之后会出现选择加密方式的提示界面,我在网上的教程中看到默认的mysql8.0的加密方式与ubuntu18.04 不兼容,所以选择5.x的加密方式;建议选择下边的那个:

安装

root@notnetwork:~# tar -zxvf mysql_8.0.tar.gz 
mysql_8.0/libevent-core-2.1-7_2.1.11-stable-1_arm64.deb
mysql_8.0/libevent-pthreads-2.1-7_2.1.11-stable-1_arm64.deb
mysql_8.0/libhtml-template-perl_2.97-1_all.deb
mysql_8.0/libmecab2_0.996-10build1_arm64.deb
mysql_8.0/mecab-ipadic_2.7.0-20070801+main-2.1_all.deb
mysql_8.0/mecab-ipadic-utf8_2.7.0-20070801+main-2.1_all.deb
mysql_8.0/mecab-utils_0.996-10build1_arm64.deb
mysql_8.0/mysql-client-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
mysql_8.0/mysql-client-core-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
mysql_8.0/mysql-common_5.8+1.0.5ubuntu2_all.deb
mysql_8.0/mysql-server_8.0.35-0ubuntu0.20.04.1_all.deb
mysql_8.0/mysql-server-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
mysql_8.0/mysql-server-core-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
root@notnetwork:~# cd mysql_8.0/
root@notnetwork:~/mysql_8.0# 
root@notnetwork:~/mysql_8.0# 
root@notnetwork:~/mysql_8.0# ls
libevent-core-2.1-7_2.1.11-stable-1_arm64.deb      mysql-client-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
libevent-pthreads-2.1-7_2.1.11-stable-1_arm64.deb  mysql-client-core-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
libhtml-template-perl_2.97-1_all.deb               mysql-common_5.8+1.0.5ubuntu2_all.deb
libmecab2_0.996-10build1_arm64.deb                 mysql-server_8.0.35-0ubuntu0.20.04.1_all.deb
mecab-ipadic_2.7.0-20070801+main-2.1_all.deb       mysql-server-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
mecab-ipadic-utf8_2.7.0-20070801+main-2.1_all.deb  mysql-server-core-8.0_8.0.35-0ubuntu0.20.04.1_arm64.deb
mecab-utils_0.996-10build1_arm64.deb
root@notnetwork:~/mysql_8.0# dpkg -i *.deb
省略......
如果第一次执行报错,请再执行一次,因为第一次会报错缺少某些依赖,这是因为安装顺序导致的。
root@notnetwork:~/mysql_8.0# netstat  -ntpl 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      5097/mysqld         
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      792/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      861/sshd: /usr/sbin 
tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      5097/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      861/sshd: /usr/sbin 
root@notnetwork:~/mysql_8.0# 

安装后验证

mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 447
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like 'lower_case_table_names';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_table_names | 1     |
+------------------------+-------+
1 row in set (0.01 sec)

mysql> 

标签:8.0,MySQL,离线,mysql8.0,arm64,ubuntu18,mysql,deb,root
From: https://www.cnblogs.com/liushiya/p/17921519.html

相关文章

  • 【Stress-ng】CentOS 7 离线安装Stress-ng
    手动下载RPM包以及依赖Stree-nglibmdlibbsdStress-ng有两个依赖包,安装顺序如下:rpm-ilibmd-1.1.0-1.el7.x86_64.rpmrpm-ilibbsd-0.11.7-2.el7.x86_64.rpmrpm-istress-ng-0.07.29-2.el7.x86_64.rpmyumdownloader也可以通过yumdownloader自动解析stress-ng依赖......
  • Ubuntu18下实时Linux内核的编译安装记录(保姆级)
    本人系统是虚拟机上的ubuntu18,过程参考了以下3个链接:https://blog.csdn.net/huangjunsheng123/article/details/116202848https://blog.51cto.com/u_15899439/5907513https://kunaly.blog.csdn.net/article/details/101111502?spm=1001.2101.3001.6650.3&utm_medium=distribute......
  • MySQL8.0 OCP 70题
    Choosetwo.WhichtwoMySQLServeraccountsarelockedbydefault?默认情况哪两个MySQLServer帐户被锁定?A)anynewROLEaccounts任何新的角色帐户B)anyinternalsystemaccounts任何内部系统帐户C)anyusercreatedwithausername,butmissingthehostnameD......
  • protobuf、protobuf-c、protobuf-c-rpc在Linux(Ubuntu18.04)编译安装及交叉编译arm\aar
    protobuf、protobuf-c、protobuf-c-rpc在Linux(Ubuntu18.04)编译安装及交叉编译arm\aarch64版本文章目录protobuf、protobuf-c、protobuf-c-rpc在Linux(Ubuntu18.04)编译安装及交叉编译arm\aarch64版本一、前言二、protobuf、rpc、protobuf-c、protobuf-c-rpc介绍1、protobuf2、protob......
  • Linux环境离线安装Docker&Docker镜像部署
    引子相信很多同学在项目上线的时候都会遇到没有网络的情况。一般而言,我们都会想到使用Docker镜像部署,让我们看看搜索引擎给出来Docker的优势吧(如下图)。那么,问题来了,本身部署环境都没有网络,怎么离线安装Docker呢?怎么使用Docker镜像部署项目?OK,让我们开始吧。一、CenterOS7.0......
  • 离线数据处理1
    离线数据处理-数据抽取&数据清洗&指标计算.12023/12/20学习笔记1.基础SQL-11.1基础命令1.1.1SQL基本操作-数据库数据表基本操作#创建数据库createdatabaseDatebaseName;#查询所有的数据库showdatabaseDatabaseName;#删除数据库dropdatabaseDatabaseName;#切换......
  • vscode server的离线安装
    由于开发环境只有Windows桌面端与Linux服务器,且Linux服务器是内网环境下运行,无法直接访问外网,想在Windows上用vscode直接调示Linux服务上的代码,所以选择了vscode+remotessh插件的方案,但问题在于,如何在Linux是离线的情况下部置vscodeserver1安装SSH工具Windows端的vscode与L......
  • sealos 离线部署 k8s 高可用集群
    sealos简介sealos特性与优势:通过内核ipvs对apiserver进行负载均衡,并且带apiserver健康检测,并不依赖haproxy和keepalived。支持离线安装,工具与资源包(二进制程序配置文件镜像yaml文件等)分离,这样不同版本替换不同离线包即可证书延期使用简单支持自定义配置内核负......
  • PG数据库的离线rpm包下载
    PG数据库的离线rpm包下载背景周末时间研究数据库的版本.发现PostgreSQL数据库的版本号已经变成了一年一个大版本.兼容起来其实成本很高.想着能够在能够上网的机器上面弄好多套数据库.便于备份和下载下载方式参照官方文档进行学习,改完下载和使用.注意的是,我这边......
  • MySQL8.0 OCP 34
    Choosefour.WhichfouraretypesofinformationstoredintheMySQLdatadictionary?MySQL数据字典中存储的哪四种信息类型?A)serverruntimeconfigurationB)serverconfigurationrollbackC)performancemetricsD)storedproceduredefinitions存储过程定义E)I......