Linux Shell 实现一键部署mariadb10.11

mariadb

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

download mariadb

mariadbmariadb(RPM)文档

download

官网

参考

参考

Linux 各系统下载使用参考

Red HatRocky Linux Oracle Linux

AlmaLinux 

ubuntususelinuxesxiRHEL标准安装系统安装参考YUM参考

MobaXterm 远程连接工具

Red Hat Enterprise 9.0 文档Kickstart 生成器
downloaddownloaddownloaddownloaddownloaddownloaddownload参考参考配置参考download参考Kickstart 
版本兼容性

mariadb 10.11 一键自动化部署编写

  • 最终实现在线下载mariadb二进制包,安装依赖,环境变量设置,初始化数据库,创建库,创建用户,创建用户权限,远程连接设置,版本获取,安装完成删除包,防火墙设置。
  •  /usr/local/mysql 安装位置
  • /usr/local/mysql/data 数据目录
  • linux 系统创建的mariadb 是mysql
  • root/Report@123 mariadb数据库登录管理员
  • mar/Report@123 此账号是自定义创建的管理员,生产环境删除哦
  • mariadb_test 创建的临时数据库
  • /usr/local/mysql/support-files/systemd/mariadb.service #默认官方的服务脚本
  • /usr/lib/systemd/system/mariadb.service 系统服务脚本(如果变更了目录请更改服务脚本内文件路径)
vi /mariadb_install.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2023/06/05
# increase indent:Tab
# decrease indent:Shift+Tab
# install source mariadb<<!
download 
https://archive.mariadb.org/installing-mariadb-binary-tarballs 
https://mariadb.com/kb/en/installing-mariadb-binary-tarballs/Document center 
https://mariadb.com/kb/zh-cn/
!install_mariadb (){if ! compgen -u mysql  &> /dev/nullthenif [ $? -eq 0 ];then#download mariadb
mariadb_url=https://archive.mariadb.org/mariadb-10.11.3/bintar-linux-systemd-x86_64/
mariadb_gz=mariadb-10.11.3-linux-systemd-x86_64.tar.gz#mariadb mysql user
mysql_user=mysql
mysql_root_password=Report@123#mariadb directory
mysql_data=data
msyql_directory=mysql
mariadb_decompression_directory=mariadb-10.11.3-linux-systemd-x86_64
mysql_prefix=/usr/local/mysql
mysql_download=/tmpecho "Create user and groups for mariadb Database service"
groupadd $mysql_user
useradd -r -s /sbin/nologin -g $mysql_user $mysql_userecho "Firewall port development"
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
firewall-cmd --zone=public --add-port=3306/tcp --permanent && firewall-cmd --reloadecho "Dependent installation"
yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y gcc gcc-c++ net-tools make cmake
yum -y install libncurses* zlib-devel libcurl-devel boost-devel ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio libaio-devel perl-Data-Dumperecho "limits config"
cat >>/etc/security/limits.conf<<EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOFecho "system Maximum number of connections"
echo "fs.file-max=65535" >> /etc/sysctl.confecho "download mariadb"
wget -N -P $mysql_download $mariadb_url$mariadb_gzecho "decompression mariadb"
tar -xf $mysql_download/$mariadb_gz -C $mysql_download
mv $mysql_download/$mariadb_decompression_directory $mysql_prefixecho "The permission of the directory user is granted"
chown -R root $mysql_prefix
mkdir -p $mysql_prefix/$mysql_data
chown -R $mysql_user $mysql_prefix/$mysql_datacat >>/etc/my.cnf<<EOF
[Client]
port=3306
default-character-set=utf8mb4
socket=$mysql_prefix/$mysql_data/mysql.sock[mysqld]
basedir=$mysql_prefix
datadir=$mysql_prefix/$mysql_data
port=3306
socket=$mysql_prefix/$mysql_data/mysql.sock
pid-file=$mysql_prefix/$mysql_data/mysql.pid
max_connections=200
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
character-set-client-handshake=FALSE
default-storage-engine=INNODB
default-time_zone='+8:00'
log_bin_trust_function_creators = on
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[client]
socket=$mysql_prefix/$mysql_data/mysql.sock
default-character-set=utf8mb4
EOFecho "mariadb environment variable"
echo 'umask 022' >>  ~/.bash_profile
echo 'PATH=$PATH:/usr/local/mysql/bin' >>  ~/.bash_profile
source  ~/.bash_profileecho "initialize mariadb"
$mysql_prefix/scripts/mariadb-install-db --user=$mysql_user --basedir=$mysql_prefix --datadir=$mysql_prefix/$mysql_dataecho "system service mariadb"
cp -rf $mysql_prefix/support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service
systemctl daemon-reload
systemctl enable mariadb.service
systemctl start mariadb.serviceecho "check mariadb version"
mysql -V | awk '{print $5}'echo "Configuring the root Password"
$mysql_prefix/bin/mysql -e "alter user root@localhost identified by 'Report@123'; FLUSH PRIVILEGES;"echo "Allow root to log in remotely"
$mysql_prefix/bin/mysql -uroot -p$mysql_root_password -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Report@123' WITH GRANT OPTION;"echo "Create a library, create a user to give the user ownership of the library, create, delete, modify, super administrator rights"
$mysql_prefix/bin/mysql -uroot -p$mysql_root_password -e "CREATE DATABASE mariadb_test;"
$mysql_prefix/bin/mysql -uroot -p$mysql_root_password -e "CREATE USER mar@'%' IDENTIFIED BY 'Report@123';"
$mysql_prefix/bin/mysql -uroot -p$mysql_root_password -e "GRANT ALL PRIVILEGES ON *.* TO mar@'%' WITH GRANT OPTION;"
$mysql_prefix/bin/mysql -uroot -p$mysql_root_password -e "GRANT SUPER ON *.* TO mar@'%';"echo "Deleting an installation package"
rm -rf $mysql_download/$mariadb_gzecho -e "\033[32mThe mariadb Install Success...\033[0m" elseecho -e "\033[31mThe mariadb Install Failed...\033[0m" exit 1fi
elseecho -e "\033[33mThe mariadb Install already...\033[0m"
fi
}main (){install_mariadb
}main

执行一键安装 mariadb

sh /mariadb_install.sh

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

简单聊一聊数据库驱动

数据库驱动通常是数据库厂家提供的&#xff0c;他们按照jdbc协议对自家数据库封装了一套可对外调用的API。在应用程序和数据库之间起到了桥接的作用。它是一个软件组件&#xff0c;提供了与特定数据库系统进行通信的接口和功能。 1. 数据库驱动的作用&#xff1a; 连接数据库&…

科研工具-R-META分析与【文献计量分析、贝叶斯、机器学习等】多技术融合实践

Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面。…

如何查看文件的MD5值?

MD5 什么是MD5&#xff1f; md5是一种信息摘要算法&#xff0c;是计算机广泛使用的杂凑算法之一&#xff08;又译摘要算法、哈希算法&#xff09;&#xff0c;它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串&#xff08;这个特殊的字符串就被称之为摘要&…

查看文件的MD5 值

从网上下载到资源文件后&#xff0c;为了确保下载的文件没有被黑客非法篡改&#xff0c;一般都会校验一下MD5是否与最初上传的版本是否一致。查看两个文件的MD5 值可以判断文件在传输过程中有没有损坏&#xff0c;或者丢失字节。 Windows电脑 window&#xff08;键盘左下角Ctr…

什么是md5

什么是md5? md5是一种不可逆的散列算法 不可逆&#xff1a;从明文可以得到密文&#xff0c;但是从密文不可以得到明文。散列&#xff1a;通过一种函数得到一个映射值&#xff0c;有可能是重复的&#xff01;但重复的概率比较低&#xff0c;例如设置字符大小写字母数字的密码…

简单的MD5查询工具

这是一个MD5查询工具&#xff0c;输入将要加密的字符串&#xff0c;可以查询到其MD5值。 目前提供了32位和16位两种算法。 什么是MD5&#xff1f; Message Digest Algorithm MD5&#xff08;中文名为消息摘要算法第五版&#xff09;为计算机安全领域广泛使用的一种散列函数&a…

一文读懂md5,md5有什么用,什么是md5加盐

md5是一种密码散列函数&#xff0c;在计算机安全领域得到广泛的应用。本文将带大家了解一些md5的知识点&#xff0c;什么是md5&#xff0c;md5有什么用&#xff0c;什么是md5加盐&#xff0c;为什么md5不可逆&#xff0c;为什么md5可能会被解密&#xff1f;帮助大家快速了解md5…

MD5值的简介和查看

MD5值的简介和查看 MD5即Message-Digest Algorithm 5&#xff08;信息-摘要算法第5版&#xff09;&#xff0c;用于确保信息传输完整一致。每个文件都可以用MD5验证程序算出一个固定的MD5码来。 MD5在论坛上、软件发布时经常用&#xff0c;是为了保证文件的正确性&#xff0c…

别小瞧,搬迁网络机房,讲究的可不少

大家好&#xff0c;我的网工朋友 最近围观咱们网工交流群&#xff0c;不少朋友提到机房搬迁这档子事&#xff0c;毕竟嘛&#xff0c;做到这方面项目的概率还是很高的。 别看机房搬迁很简单&#xff0c;其实可讲究了。 随着企业、单位的不断深入发展&#xff0c;机房搬迁&…

【JavaEE】网络编程之UDP套接字

目录 1、网络编程基础 2、UDP数据报套接字编程 2.1.DatagramSocket API&#xff08;方法&#xff09; 2.2、DatagramPacket API&#xff08;方法&#xff09; 2.3、InetSocketAddress API 3、基于UDP socket写一个回显服务器 3.1、服务器端 3.2 、客户端 3.3、完…

关于.CSV文件

什么是.CSV文件 csv是逗号分隔值文件格式&#xff0c;一般用WORDPAD或记事本(NOTE),EXCEL打开。csv(逗号分隔值)是一种用来存储数据的纯文本文件&#xff0c;通常都是用于存放电子表格或数据的一种文件格式。 .CSV文件的用途 比如在C语言程序中可以将数据输出到.csv文件中&a…

csv文件的简介

一、csv简介 在项目中看到了导出为.csv各式的文件格式好奇就百度了一下&#xff0c;然后做了一个小demo。 就是用逗号分割为一列。 CSV&#xff08;逗号分隔值&#xff09;&#xff08;Comma-Separated Values&#xff0c;CSV&#xff0c;有时也称为字符分隔值&#xff0c;因…

CSV的简单用法

读文件 import csv with open(test.csv,rb) as myFile: linescsv.reader(myFile) for line in lines: print line 程序输出&#xff1a; [1, 2][3, a][4, b] 写文件 with open(rC:\Users\asus\Desktop\frank.csv,w) as myFile:writer csv.writer(myFile)writer.writero…

解析csv文件

以下内容仅为记录&#xff1a; 第一步&#xff1a;解析csv文件 Testpublic void testcsv() throws Exception {File csv new File("C:\\Users\\hjy\\Desktop\\attendace164_20180312.csv"); // CSV文件路径BufferedReader br null;try{br new BufferedReader(ne…

csv文件介绍与使用

文章目录 CSV文件用法规则创建csv文件读取csv文件 CSV文件 逗号分隔值&#xff08;Comma-Separated Values&#xff0c;CSV&#xff0c;有时也称为字符分隔值&#xff0c;因为分隔字符也可以不是逗号&#xff09;&#xff0c;其文件以纯文本形式存储表格数据&#xff08;数字和…

用Python读取CSV文件的5种方式

典型的数据集stocks.csv&#xff1a; 一个股票的数据集&#xff0c;其实就是常见的表格数据。有股票代码&#xff0c;价格&#xff0c;日期&#xff0c;时间&#xff0c;价格变动和成交量。这个数据集其实就是一个表格数据&#xff0c;有自己的头部和身体。 第一招&#xff1…

Python数据分析基础之CSV文件(5)

选取连续的行 有时&#xff0c;工作表的头部和尾部是我们不想处理的。在很多情况下&#xff0c;工作表头部是标题、作者信息等&#xff0c;尾部是来源、假设、附加说明、注意事项等&#xff0c;我们并不需要处理这些内容。在这时&#xff0c;我们可以用Python来选取CSV文件中连…

Java设计模式—模板方法模式

前言&#xff1a;模板方法模式是模板模式的一个具体实现&#xff0c;它定义了一个抽象类&#xff0c;其中包含一个模板方法和若干个基本方法。其中模板方法定义了算法骨架&#xff0c;而基本方法则由子类来实现。因此&#xff0c;模板方法在定义算法的结构方面提供了支持&#…

一本书让你彻底搞懂安卓系统性能优化(文末送书5本)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

MySQL redo log、undo log、binlog

MySQL是一个广泛使用的关系型数据库管理系统&#xff0c;它通过一系列的日志来保证数据的一致性和持久性。在MySQL中&#xff0c;有三个重要的日志组件&#xff0c;它们分别是redo log&#xff08;重做日志&#xff09;、undo log&#xff08;回滚日志&#xff09;和binlog&…