首页 > 数据库 >linux 一键部署mysql 8.4.2 绿色版

linux 一键部署mysql 8.4.2 绿色版

时间:2024-10-23 11:59:48浏览次数:1  
标签:linux 8.4 绿色版 mysql echo wget path tar dir

亲测有效

vim deploy_mysql.sh
#! /bin/bash

# mysql安装目录是 ${wget_path}/${mysql_dir}

# 修改mysql的登录密码
updatePassword="sykj@2024"
wget_path="/data"
mysql_dir="mysql"
#.tar.xz文件
mysql_dowmload_path="https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.2-linux-glibc2.28-x86_64.tar.xz"

mysql_tar=$(echo $mysql_dowmload_path | awk -F/ '{print $NF}')
mysql_tar_dir=$(basename $mysql_tar .tar.xz)
mkdir -p ${wget_path} 
echo "下载mysql的tar文件,解压"
wget  -P ${wget_path} https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.2-linux-glibc2.28-x86_64.tar.xz
tar xvf ${wget_path}/$mysql_tar -C ${wget_path}
echo "重命名"
mv ${wget_path}/$mysql_tar_dir ${wget_path}/${mysql_dir}
echo "创建mysql数据目录"
mkdir ${wget_path}/${mysql_dir}/data
echo "配置mysql"
cat <<EOF > ${wget_path}/${mysql_dir}/my.cnf
[client]
socket=${wget_path}/${mysql_dir}/mysql.sock

[mysqld]
user=root
datadir=${wget_path}/${mysql_dir}/data
basedir=${wget_path}/${mysql_dir}
socket=${wget_path}/${mysql_dir}/mysql.sock
port=3306
#允许最大连接数
max_connections=2000
#日志路径
log-error=${wget_path}/${mysql_dir}/mysqld.log
#开启慢sql日,超过2秒记录
slow_query_log = 1
long_query_time = 2
slow_query_log_file = ${wget_path}/${mysql_dir}/mysql-slow.log
#禁用主机名解析
skip-name-resolve
#字符集配置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
EOF

echo "初始化mysql"
${wget_path}/${mysql_dir}/bin/mysqld  --defaults-file=${wget_path}/${mysql_dir}/my.cnf  --initialize
echo "启动mysql"
${wget_path}/${mysql_dir}/bin/mysqld  --defaults-file=${wget_path}/${mysql_dir}/my.cnf &
echo "获取mysql登录密码"
password=$(grep 'temporary password' ${wget_path}/${mysql_dir}/mysqld.log | awk '{print $NF}')
sleep 3
echo "登录mysql修改root用户密码,创建远程登录用户"
${wget_path}/${mysql_dir}/bin/mysql -S ${wget_path}/${mysql_dir}/mysql.sock --connect-expired-password -uroot -p"${password}" << eof
ALTER USER root@'localhost' identified by "Sykj_2022";
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
set global validate_password_policy=LOW;
set global validate_password_length=1;
ALTER USER root@'localhost' identified by "${updatePassword}";
CREATE USER 'root'@'%'  identified by "${updatePassword}";
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
flush privileges;
eof
echo "脚本运行成功!"
chmod a+x deploy_mysql.sh

 客户端连接mysqld命令

/data/mysql/bin/mysql -uroot -S /data/mysql/mysql.sock -p

 

标签:linux,8.4,绿色版,mysql,echo,wget,path,tar,dir
From: https://www.cnblogs.com/lfxx/p/18496095

相关文章

  • Linux的环境变量不生效
    一、定时任务无法加载系统的环境变量系统环境变量生效顺序:1.首先读入的是全局环境变量设定目录/etc/profile,然后根据其内容读取额外的设定的文档,如/etc/profile.d和/etc/inputrc2.然后去用户家目录下,读取~/.bash_profile,否则读取~/.bash_login,再否则~/.profile,这三个......
  • IDM下载器 (Internet Download Manager) v6.42.2 中文免激活绿色版
    InternetDownloadManager(IDM下载器)是一款先进的下载工具,可以提升您的下载速度高达5倍,支持续传,IDM可以让用户自动下载某些类型的文件,它可将文件划分为多个下载点以更快速度下载,并列出最近的下载,方便访问文件。相对于其它下载管理工具,它具有独特的动态档案分区技术。......
  • Linux常用命令大全超详细知识点概览
    我是小粥学姐,下面是Linux常用命令大全哦,先上目录。章节目录一、文件和目录管理命令二、文件内容查看与编辑命令三、文件搜索与查找命令四、系统管理与监控命令五、网络管理与通信命令六、用户管理与权限设置命令七、打包压缩与备份命令八、其他实用命令一、文件......
  • Linux(银河麒麟)升级openssh和openssl
    Linux升级openssh升级包下载地址:openssh:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gzopenssl:https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gzzlib:https://zlib.net/fossils/zlib-1.3.tar.gz备份原......
  • Linux系统:more命令
    1、命令详解:        more命令是Linux系统中的一个文本查看器,它可以一次显示一页内容,并提供了一些方便的浏览操作,比如向下滚动、向上滚动、搜索等。当需要查看大型文件或长文本时,通过分页显示可以很好地避免一次性将整个文件显示在终端上,从而提高效率。2、语法:more......
  • 在Linux命令行下载Google Drive大文件(解决Google Drive下载慢的问题)
    文章目录1、使用gdown命令2、复制链接3、替换为Linux下载链接注意:在Linux命令行进行1、使用gdown命令wget只能下载小文件,大文件需要用到gdownpipinstallgdown#如果不能够直接安装,使用以下命令gitclonehttps://github.com/wkentaro/gdowncdgdownpipin......
  • linux之makefile
    目录linux之makefile模板每个.c编译成.o再链接在一起每个.c文件各自编译链接成可执行文件linux之makefile学习https://www.cnblogs.com/paul-617/p/15501875.html模板每个.c编译成.o再链接在一起OUT:=mainSRCS:=$(wildcard*.c)OBJS:=$(patsubst%.c,%.o,$(SRCS))CC:=gcc......
  • Linux部署springboot项目
    在Linux上部署SpringBoot应用通常包括以下步骤: 准备Java环境:确保已安装Java,并且java命令可用。   准备SpringBoot应用的WAR或JAR包:通过Maven或Gradle构建项目,生成可执行的包。   上传包到Linux服务器:可以使用SCP、SFTP或其他文件传输工具。  ......
  • 批量自动分发Linux密码
    2.批量自动分发密钥(完整版)#本shell脚本是基于DSA加密方式进行加密的,测试的环境为centOS7.5,若要使用别的加密方式,请修改源代码,此脚本可以自动发现IP地址,并分发分发,同一网段的IP地址,目前还不可以分发多网段的IP地址。#可以实现SSH密钥基于DSA方式密钥的分发及创建新密钥并进行分......
  • Linux系统上使用nmcli命令配置各种网络
    目录一、配置NetworkManager接管网络(选)安装Network-Manager并启动netplan管理网络的系统ifupdown管理网络的系统二、nmcli的相关配置(后置参数均可缩写)有线网络配置使用nmcli添加一个网卡并配置静态ip地址激活/关闭网卡使用nmcli修改一个网卡的地址使用nmcli添加一个网卡......