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.mzph.cn/pingmian/65839.shtml

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

相关文章

10-Gin 文件上传 --[Gin 框架入门精讲与实战案例]

使用 Gin 框架处理文件上传是一个常见的任务&#xff0c;Gin 提供了简单而直观的方法来处理文件上传。下面将介绍如何用 Gin 实现文件上传功能。 1. 安装 Gin 如果你还没有安装 Gin&#xff0c;可以通过 Go 的包管理工具 go get 来安装&#xff1a; go get -u github.com/gi…

【react】常见的性能优化 1

目录 常见的 React 性能优化手段 1. 使用 useMemo 和 useCallback 缓存数据和函数 2. 使用 React.memo 缓存组件 3. 组件懒加载 4. 合理使用 key 5. 在组件销毁时清除定时器/事件 6. 使用 Suspense 和 Lazy 拆分组件 7. 使用 Fragment 避免额外标记 8. 避免使用内联函…

Promise实现原理解析,及实现方法。

Promise原理解析 Promise的介绍原理分析源码实现发布部分全部代码订阅部分基础代码简单发布订阅完整代码测试订阅能力链式调用的实现完整链式调用代码链式调用Promise完整功能代码 Promise的介绍 一&#xff0c;Promise的理解 在JavaScript中&#xff0c;Promise是一种用于处理…

http报头解析

http报文 http报文主要有两类是常见的&#xff0c;第一类是请求报文&#xff0c;第二类是响应报文&#xff0c;每个报头除了第一行&#xff0c;都是采用键值对进行传输数据&#xff0c;请求报文的第一行主要包括http方法&#xff08;GET&#xff0c;PUT&#xff0c; POST&#…

【日常开发】Git Stash使用技巧

文章目录 引言一、git stash 基础命令&#xff08;一&#xff09;存储当前工作区的修改&#xff08;二&#xff09;查看存储列表 二、查看存储的内容&#xff08;一&#xff09;查看特定存储的详细内容&#xff08;二&#xff09;查看特定存储修改的文件列表 三、恢复存储的修改…

微服务保护-sentinel

为什么要有微服务保护&#xff1f; 微服务保护是为了避免微服务雪崩而出现的&#xff0c;每个微服务能处理的请求是有限的&#xff0c;如果一个微服务出现问题导致一个请求进入微服务的时间太久&#xff0c;就会导致大量去请求停滞在微服务内部&#xff0c;这样就会过分占用系统…

【Redis】Redis 典型应用 - 缓存 (cache)

目录 1. 什么是缓存 2. 使用 Redis 作为缓存 3. 缓存的更新策略 3.1 定期生成 3.2 实时生成 4. 缓存的淘汰策略 5. 缓存预热, 缓存穿透, 缓存雪崩 和 缓存击穿 关于缓存预热 (Cache preheating) 关于缓存穿透 (Cache penetration) 关于缓存雪崩 (Cache avalanche) 关…

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

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

Python读取TIF文件

在Python中&#xff0c;逐帧读取TIFF文件&#xff08;尤其是多页TIFF文件&#xff09;可以使用tifffile库或Pillow库。以下是两种方法的示例&#xff1a; 方法 1&#xff1a;使用 tifffile 逐帧读取 tifffile 是一个专门用于处理TIFF文件的库&#xff0c;支持多页TIFF文件的逐…

只谈C++11新特性 - 显式转换函数

显式转换函数 背景与问题 在 C11 之前&#xff0c;explicit 关键字只能用于构造函数。其作用是阻止构造函数在需要隐式转换时被调用。例如&#xff1a; 示例问题&#xff08;C11 之前的 explicit 用法&#xff09; #include <iostream>class Example { public:explic…

从0到机器视觉工程师(一):机器视觉工业相机总结

目录 相机的作用 工业相机 工业相机的优点 工业相机的种类 工业相机知名品牌 光源与打光 打光方式 亮暗场照明 亮暗场照明的应用 亮暗场照明的区别 前向光漫射照明 背光照明 背光照明的原理 背光照明的应用 同轴光照明 同轴光照明的应用 总结 相机的作用 相机…

HTML——53. 创建表单

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>创建表单</title></head><body><!--form标签用于创建一个表单&#xff0c;会将里面的内容一起发送服务器&#xff0c;其结构类似于表格--><!--表…

逐行讲解大模型流式输出 streamer 源码

目录 简介TextStreamer 基础流式输出TextIterateStreamer 迭代器流式输出本地代码模型加载并前端展示streamlit 输出显示gradio 输出显示 vllm 部署模型并前端展示streamlit 输出显示gradio 输出显示 备注 简介 本文详细讲解了大模型流式输出的源码实现&#xff0c;包括TextSt…

java_使用阿里云oss服务存储图片

什么情况下可以使用阿里云oss服务存储图片&#xff1f; 对图片的访问速度有高要求时使用&#xff0c;方便用户快速的&#xff08;比如在网页页面中&#xff09;访问到图像 参考&#xff1a;41 尚上优选项目-平台管理端-商品信息管理模块-阿里云OSS介绍_哔哩哔哩_bilibili 1.…

第5章 共享内存范式:C语言层面

5.1OpenMP 5.1.1OpenMP的介绍 OpenMP三个原则 5.2OpenMP的使用 编译制导指令以#pragma omp 开始&#xff0c;后边跟具体的功能指令&#xff0c;格式如:#pragma omp 指令[子句[,子句].]。常用的功能指令如下: 5.2.1编译制导 5.2.2API和环境变量 具体案例-邻接矩阵 // 本代码…

全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之循环结构(for循环语句)(七)

实战训练—鸡兔同笼 问题描述&#xff1a; 一个笼子里面关了鸡和兔子&#xff08;鸡有2只脚&#xff0c;兔子有4只脚&#xff0c;没有例外&#xff09;。已经知道了笼子里面脚的总数为a&#xff0c;问笼子里面至少有多少只动物&#xff0c;至多有多少只动物。 输入格式&…

web 开发全局覆盖文件上传身份验证漏洞利用

全局覆盖 首先认识全局变量和局部变量 再一个就是知道全局变量是全局使用的并且有个特点就是可以覆盖 这个就是全局变量我们输出一下发现 z居然等于函数内的计算值 把我们原来定义的全局变量 $z给覆盖了 看一下局部变量 这个时候 z就不会被覆盖 <?php $x1; $y2; …

No.2十六届蓝桥杯备战|练习题4道|数据类型|字符型|整型|浮点型|布尔型|signed|unsigned(C++)

B2002 Hello,World! - 洛谷 #include <iostream> using namespace std; int main() { cout << "Hello,World!" << endl; return 0; }打印飞机 #include <iostream> using namespace std;int main() {cout << " …

46. Three.js案例-创建颜色不断变化的立方体模型

46. Three.js案例-创建颜色不断变化的立方体模型 实现效果 知识点 Three.js基础组件 WebGLRenderer THREE.WebGLRenderer是Three.js提供的用于渲染场景的WebGL渲染器。它支持抗锯齿处理&#xff0c;可以设置渲染器的大小和背景颜色。 构造器 antialias: 是否开启抗锯齿&am…

5.系统学习-PyTorch与多层感知机

PyTorch与多层感知机 前言PyTroch 简介张量&#xff08;Tensor&#xff09;张量创建张量的类型数据类型和 dtype 对应表张量的维度变换&#xff1a;张量的常用操作矩阵或张量计算 Dataset and DataLoaderPyTorch下逻辑回归与反向传播数据表格 DNN&#xff08;全连结网络&#x…