debian系linux安装mysql

准备环境

(1) 先查询是否有安装mariadb,如果有,先执行以下命令卸载mariadb

sudo apt-get remove --purge mariadb-server mariadb-client

(2) 安装libncurses.so.5和libtinfo.so.5库文件
在数据库登录时会用到,执行以下命令查询

find / -type f -name "libncurses.so.*"
find / -type f -name "libtinfo.so.*"
find / -type f -name "libnuma.so.*"

然后查询到的文件有可能不是libncurses.so.5和libtinfo.so.5,大概率文件可以在/usr/lib/找到,例如像下面这样,最后需要根据现有文件libncurses.so.*和libtinfo.so.*生成链接文件

ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6.5 /usr/lib64/libncurses.so.5
ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6.5  /usr/lib64/libtinfo.so.5
ln -s /usr/lib/x86_64-linux-gnu/libnuma.so.1.0.0  /usr/lib64/libnuma.so.1

(3)编辑环境变量

vim /etc/profile
追加内容:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64:/usr/lib32
source /etc/profile

2 下载mysql二进制安装包

例如:
mysql-9.0.1-linux-glibc2.17-x86_64.tar.xz

3、安装脚本

点击进入下面脚本页面
脚本内容如下:

#!/bin/bash#先查询是否有启动的mysql服务
mysql_process=`ps -aux |grep '[m]ysqld'`
if [ ! -z "$mysql_process" ];thenecho "mysqld服务已启动,请退出后再执行mysql安装!"exit 1;
fi#如果是手动上传mysql安装包,把它和此安装脚本放在同一目录下即可!
read -p "请输入需要安装的mysql的版本号,例如8.0.35:" versionif [ -z "${version}" ]then echo "输入安装的mysql的版本号为空!!!"exit 1
fi#apt install -y wget
#wget https://cdn.mysql.com/archives/mysql-8.0/mysql-${version}-linux-glibc2.17-x86_64.tar.xzis_exist=`ls ./ | grep mysql-${version}-linux-glibc2.17-x86_64.tar.xz`if [ -z "${is_exist}" ]then echo "mysql安装包不存在!!!现在开始下载中..."wget https://cdn.mysql.com/archives/mysql-8.0/mysql-${version}-linux-glibc2.17-x86_64.tar.xzis_exist=`ls ./ | grep mysql-${version}-linux-glibc2.17-x86_64.tar.xz`if [ -z "${is_exist}" ]then echo "mysql安装包不存在!!!请检查!!!"exit 1elseecho "${is_exist}存在,可以继续安装!"fi
elseecho "${is_exist}存在,可以继续安装!"
fiapt install -y libaio1if [ ! -e "/usr/lib64/libncurses.so.5"  ]thenecho "/usr/lib64/libncurses.so.5不存在!"echo "请使用find / -type f -name 'libncurses.so.*'命令查询"exit 1
fiif [ ! -e "/usr/lib64/libtinfo.so.5" ]thenecho "/usr/lib64/libtinfo.so.5不存在!"echo "请使用find / -type f -name 'libtinfo.so.*'命令查询"exit 1
fiif [ ! -e "/usr/lib64/libnuma.so.1" ];thenecho "/usr/lib64/libnuma.so.1 不存在!"echo "请使用find / -type f -name ''命令查询"exit 1
ficheck_env(){id mysqlif [ 0 -eq "$?" ]then echo "mysql用户已经存在,无需创建"elseuseradd mysqlif [ 0 -eq "$?" ]then echo "mysql用户创建成功!"elseecho "mysql用户创建失败!!!"exit 1fifiif [ -d "/usr/local/mysql" ]thencd /usr/local && rm -rf mysql && cd -fi	    
}check_env && tar -xvf mysql-${version}-linux-glibc2.17-x86_64.tar.xz -C /usr/local && cd /usr/local && mv mysql-${version}-linux-glibc2.17-x86_64 mysql && cd mysql && mkdir data && chown -R mysql:mysql dataif [ $? -eq 0 ]thenecho "mysql安装环境准备成功!继续下一步"
elseecho "mysql安装环境准备失败!!!请检查"exit 1
ficat>/usr/local/mysql/my.cnf<<EOF
[mysql]
default-character-set=utf8mb4
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
#character config
character_set_server=utf8mb4
#symbolic-links=0
#explicit_defaults_for_timestamp=true
lower_case_table_names=1
EOFif [ $? -eq 0 ]then echo "初始化mysql配置文件my.cnf成功!继续下一步"
elseecho "初始化mysql配置文件my.cnf失败!!!请检查"exit 1
fibin/mysqld --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --initializeif [ $? -eq 0 ]thenecho "初始化mysql实例成功!继续下一步"
elseecho "初始化mysql实例失败!!!请检查"exit 1
fiif [ -e /etc/my.cnf ] then rm -f /etc/my.cnf
fisupport-files/mysql.server startif [ $? -eq 0 ]thenecho "启动mysql实例成功!继续下一步"
elseecho "启动mysql实例失败!!!请检查"exit 1
fitemp_password=$(grep 'temporary password' /usr/local/mysql/data/mysql.err | awk '{print $NF}')echo "临时密码:${temp_password}"bin/mysql  --connect-expired-password -uroot -p"${temp_password}" -e"alter user root@'localhost' identified by '123456';create user root@'%' identified by '123456';grant all privileges on *.* to root@'%';flush privileges;"
if [ $? -eq 0 ]thenecho "mysql用户密码设置成功!继续下一步"
elseecho "mysql用户密码设置失败!!!请检查"exit 1
fi#firewall-cmd --permanent --zone=public --add-port=3306/tcp
#firewall-cmd --reload
if [ $? -eq 0 ]thenecho "mysql端口放行成功!到此安装完成!开始使用MySQL吧!"
elseecho "mysql端口放行失败!!!请检查"
fi
echo 'export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/support-files' >> /etc/profile
echo "mysql执行路径已经添加到PATH环境变量中,生效请执行source /etc/profile 或是重启系统!"

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

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

相关文章

phpstudy2018问题(技巧)总结

目录 安装介绍注意操作 问题phpstudy待续、更新中...... 安装 软件下载&#xff08;新人推荐2018 版本phpstudy &#xff09; 官网下载 https://www.xp.cn/download.html 介绍 系统服务------开机自启 非服务模式------开机不自启 搭建好环境, 此时服务器与客户端同时存在 …

github提交不上去,网络超时问题解决

问题出现的原因&#xff1a; DNS服务器数据不同步&#xff0c;github的服务器发送迁移&#xff0c;在本地缓存的ip地址现在无效了。 解决方案&#xff1a; 1&#xff09;点击这里&#xff0c;查询github.com最新的ip地址 2.0&#xff09;编辑linux系统地址缓存文件&#x…

Flink operator实现自动扩缩容

官网文档位置&#xff1a; 1.Autoscaler | Apache Flink Kubernetes Operator 2.Configuration | Apache Flink Kubernetes Operator 1.部署K8S集群 可参照我之前的文章k8s集群搭建 2.Helm安装Flink-Operator helm repo add flink-operator-repo https://downloads.apach…

LeetCode--排序算法(堆排序、归并排序、快速排序)

排序算法 归并排序算法思路代码时间复杂度 堆排序什么是堆&#xff1f;如何维护堆&#xff1f;如何建堆&#xff1f;堆排序时间复杂度 快速排序算法思想代码时间复杂度 归并排序 算法思路 归并排序算法有两个基本的操作&#xff0c;一个是分&#xff0c;也就是把原数组划分成…

加密流量TLS1.2 和TLS1.3的握手区别

加密流量TLS1.2 和TLS1.3的握手区别 TLS1.2 握手均是明文 1&#xff09;Client Hello 2&#xff09;Server Hello 3&#xff09;Certificate TLS1.3 握手中Client Hello是明文&#xff0c;而Server Hello中Extensions以及后面的握手信息不可见 1&#xff09;Client Hello…

5分钟掌握python中的匿名函数

lambda表达式&#xff0c;又称匿名函数&#xff0c;常用来表示内部仅包含1行表达式的函数。如果一个函数的函数体仅有 1 行表达式&#xff0c;则该函数就可以 用 lambda 表达式来代替。 lambda 表达式的语法格式如下&#xff1a; name lambda [list] : 表达式 其中&#xff…

单元测试3.0+ @RunWith(JMockit.class)+mock+Expectations

Jmockit使用笔记_基本功能使用Tested_Injectable_Mocked_Expectations_jmockit.class-CSDN博客 测试框架Jmockit集合junit使用 RunWith(JMockit.class) 写在测试案例类上的注解 Tested 在测试案例中,写在我们要测试的类上面, 一般用实现类 Injectable 在测试案例中声明…

保姆级教程Docker部署ClickHouse镜像

目录 1、安装Docker及可视化工具 2、创建挂载目录 3、获取配置文件 4、运行ClickHouse容器 5、Compose运行ClickHouse容器 6、查看ClickHouse运行状态 7、安装包部署 1、安装Docker及可视化工具 Docker及可视化工具的安装可参考&#xff1a;Ubuntu上安装 Docker及可视化…

如何通过深度学习提升大分辨率图像预测准确率?

随着科技的不断进步&#xff0c;图像处理在各个领域的应用日益广泛&#xff0c;特别是在医疗影像、卫星遥感、自动驾驶、安防监控等领域中&#xff0c;大分辨率图像的使用已经成为了一项不可或缺的技术。然而&#xff0c;大分辨率图像带来了巨大的计算和存储压力&#xff0c;同…

Spring实现Logback日志模板设置动态参数

版权说明&#xff1a; 本文由博主keep丶原创&#xff0c;转载请保留此块内容在文首。 原文地址&#xff1a; https://blog.csdn.net/qq_38688267/article/details/144842327 文章目录 背景设计日志格式实现配置动态取值logback-spring.xml 背景 多个单体服务间存在少量交互&…

【无线传感网】无线传感器网络拓扑控制技术

文章目录 拓扑控制的意义影响整个网络的生存时间减小节点间通信干扰&#xff0c;提高网络通信效率为路由协议、时间同步提供基础影响数据融合弥补节点失效的影响 拓扑控制的设计目标能量消耗覆盖度连通性算法的分布式程度网络延迟&#x1f6a9;干扰和竞争对称性鲁棒性和可扩展性…

如何在没有 iCloud 的情况下将联系人从 iPhone 传输到 iPhone

概括 近期iOS 13.5的更新以及苹果公司发布的iPhone SE在众多iOS用户中引起了不小的轰动。此外&#xff0c;不少变化&#xff0c;如暴露通知 API、Face ID 增强功能以​​及其他在 COVID-19 期间与公共卫生相关的新功能&#xff0c;吸引了 iPhone 用户尝试新 iPhone 并更新到最…

matlab 设计滤波器

滤波器可视化工具 fvtool 与 filterAnalyzer 设计滤波器&#xff1a; matlab 菜单栏 APP - 滤波器设计

Keil中的gcc

文章目录 一、IDE背后的命令1.1 IDE是什么1.2 IDE的背后是命令1.3 有两套主要的编译器 二、准备工作2.1 arm-linux-gcc和gcc是类似的2.2 Code::Blocks2.2.1 设置windows环境变量2.2.2 命令行示例 三、gcc编译过程详解3.1 程序编译4步骤3.2 gcc的使用方法3.2.1 gcc使用示例3.2.2…

SQL-Server链接服务器访问Oracle数据

SQL Server 链接服务器访问 Oracle 离线安装 .NET Framework 3.5 方法一&#xff1a;使用 NetFx3.cab 文件 下载 NetFx3.cab 文件&#xff0c;并将其放置在 Windows 10 系统盘的 C:Windows 文件夹中。 以管理员身份运行命令提示符&#xff0c;输入以下命令并回车&#xff1a; …

关于easy-es对时间范围查询遇到的小bug

前言&#xff1a;在使用easy-es之前作为一个小白的我只有es原生查询的基础&#xff0c;在自己通过查看官方文档自学easy-es遇到了一个挫折&#xff0c;其他的还好语法和MybatisPlus差不多&#xff0c;正以为我觉得很快就能入手&#xff0c;在对时间范围的判断就给我当头一棒&am…

typora+picgo core+minio自动上传图片

1. 在服务器上安装docker版本minio 创建/docker/minio文件夹 mkdir -p /docker/minio在此文件夹创建docker-compose.yml version: "3.5" services:minio:image: quay.io/minio/minio:latestcontainer_name: minioprivileged: truerestart: alwaysports:# API接口访…

WebRTC线程的启动与运行

WebRTC线程运行的基本逻辑&#xff1a; while(true) {…Get(&msg, …);…Dispatch(&msg);… }Dispatch(Message *pmsg) {…pmsg->handler->OnMessage(pmsg);… }在执行函数内部&#xff0c;就是一个while死循环&#xff0c;只做两件事&#xff0c;从队列里Get取…

【OceanBase】使用 Superset 连接 OceanBase 数据库并进行数据可视化分析

文章目录 前言一、前提条件二、操作步骤2.1 准备云主机实例2.2 安装docker-compose2.3 使用docker-compose安装Superset2.3.1 克隆 Superset 的 GitHub 存储库2.3.2 通过 Docker Compose 启动 Superset 2.4 开通 OB Cloud 云数据库2.5 获取连接串2.6 使用 Superset 连接 OceanB…

我们能否使用 ANSYS SPEOS 测量水质?

介绍 Ansys SPEOS 是动态环境科学领域的尖端工具&#xff0c;可为围绕水质管理的复杂问题提供深入的见解和创新解决方案。通过其光学系统功能&#xff0c;它为理解和改善不同环境的生态动态提供了一个强大的框架。 主要特点和优势 多材质建模&#xff1a; 为了准确模拟环境…