Centos7.+系统,二进制包脚本安装Mysql
#!/bin/bash
#配置数据库要安装的目录,可以根据自己的安装路径修改PATHDIR
PATHDIR="/project"
BASEDIR="$PATHDIR/mysql"
DATADIR="$BASEDIR/data"
#判断3306端口是否被占用
netstat -an | grep 3306 2>&1 > /dev/null
if [ $? -eq 0 ];then
echo -e "\033[5;31m 3306端口已经被使用... \033[0m"
exit 1
else
echo -e "\033[32m 准备安装...\033[0m"
fi
#创建mysql用户组和用户
groups mysql > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "mysql用户组已经存在"
else
groupadd mysql
fi
id mysql >/dev/null 2>&1
if [ $? -eq 0 ];then
echo "mysql用户存在"
else
useradd -r -g mysql -s /bin/false mysql
fi
#备份mysql的配置文件
mv /etc/my.cnf /etc/my.cnf.backup >/dev/null 2>&1
cat >>/etc/my.cnf <<eof
[mysqld]
basedir=$BASEDIR
datadir=$DATADIR
eof
#解压mysql安装包
tar -xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C $PATHDIR >/dev/null 2>&1
if [ $? -eq 0 ];then
echo -e "\033[32m 解压完成\033[0m"
else
echo -e "\033[31m 解压失败...\033[0m"
exit 1
fi
#移动解压包到安装目录下
mv $PATHDIR/mysql-5.7.26-linux-glibc2.12-x86_64 $BASEDIR >/dev/null 2>&1
#配置mysql环境变量
echo -e 'MYSQL=/project/mysql/bin\nexport PATH=$PATH:$MYSQL' >/etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
if [ $? -eq 0 ];then
echo -e "\033[32m 环境变量配置成功,请稍等...\033[0m"
else
echo -e "\033[31m 环境变量配置失败...\033[0m"
exit 1
fi
#创建mysql的data目录
mkdir -pv $BASEDIR/data/
chown -R mysql:mysql $DATADIR
#初始化数据库,并将初始化结果存入tmp.txt文件中(初始化的密码在文件中,后面修改密码会用到)
mysqld --initialize --user=mysql --basedir=$BASEDIR --datadir=$DATADIR > $PATHDIR/tmp.txt 2>&1
#启动mysql服务,将mysql设置为systemd守护进程
cp $BASEDIR/support-files/mysql.server /etc/init.d/mysql
cat >/lib/systemd/system/mysql.service <<eof
[Unit]
Description=mysql
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysql start
ExecReload=/etc/init.d/mysql restart
ExecStop=/etc/init.d/mysql stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
eof
echo -e "\033[32m 正在启动mysql服务,请稍等..\033[0m"
systemctl daemon-reload
systemctl start mysql.service
if [ $? -eq 0 ];then
echo -e "\033[32m mysql服务启动成功\033[0m"
else
echo -e "\033[5;31m mysql服务启动失败...\033[0m"
exit 1
fi
#请输入mysql修改的密码
read -p "初始化数据库mysql的密码,请输入您的数据库新密码:" PASSW
#修改mysql密码
cat tmp.txt|sed -n "$ p"|awk '{print $NF}'|xargs -i mysqladmin -uroot -h 127.0.0.1 -p"{}" password "$PASSW"
if [ $? -eq 0 ];then
echo -e "\033[5;32m 新密码设置成功,请妥善保管\033[0m"
else
echo -e "\033[5;31m 新密码设置失败\033[0m"
exit 1
fi
Centos7.+系统,二进制包脚本安装Mysql的更多相关文章
- liunx系统二进制包安装编译mysql数据库
liunx系统二进制包安装编译mysql数据库 # 解压二进制压缩包 [root@localhost ~]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- 在CentOS7中利用yum命令安装mysql
在CentOS7中利用yum命令安装mysql 原创 2016年08月31日 10:42:33 标签: mysql / centos 4832 一.说明 我们是在VMware虚拟机上安装的mysql, ...
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- Centos7 系统初试化脚本
系统初始化设置 # 设置主机名,永久修改,再次登陆生效 hostnamectl set-hostname xxxxx # 安装eprl源,常用命令 yum install -y wget && ...
- 二进制方式快速安装MySQL数据库命令集合
二进制方式快速安装MySQL数据库命令集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1.安装mysql ls mysql ...
- CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]
一 CentOS下通过rpm方式安装MySQL CentOS版本:CentOS-7 MySQL版本:MySQL-5.6.22 在网上搜了一下,Linux下安装MYSQL有三种方式: 1) 通过yum命 ...
- MariaDB二进制包简单安装部署
一.简介: MySQL最早是由Michael Widenius在所研发,而在后来Michael先生以10亿美元的价格把MySQL卖给了SUN以后不久SUN就被Oracle公司给收购了,在Oracle收 ...
- MySQL5.7 基于二进制包的安装
1.MySQL5.7安装注意事项 1.在MySQL5.7中mysql_install_db已经不再推荐使用,建议改成mysqld-initialize 完成实力初始化.(mysql_install_d ...
随机推荐
- c#多进程通讯,今天,它来了
引言 在c#中,可能大多数人针对于多线程之间的通讯,是熟能生巧,对于AsyncLocal 和ThreadLocal以及各个静态类中支持线程之间传递的GetData和SetData方法都是信手拈来,那多 ...
- Quay v3.5.1 部署踩坑
官方文档好久没更新了 拿来部署了一个最新的软件 把我坑死了 首先你需要一个podman OR docker 官方用podman 本文同 设置 Postgres 官方推荐数据库 $ mkdir -p $ ...
- Java实现抽奖模块的相关分享
Java实现抽奖模块的相关分享 最近进行的项目中,有个抽奖的需求,今天就把相关代码给大家分享一下. 一.DAO层 /** * 获取奖品列表 * @param systemVersion 手机系统版本( ...
- 【Java】toString
toString 当我们输出一个对象的引用时,实际上就是调用当前对象的toString() Object类中toString()的定义: public String toString() { retu ...
- 【刷题-LeetCode】199 Binary Tree Right Side View
Binary Tree Right Side View Given a binary tree, imagine yourself standing on the right side of it, ...
- 【刷题-PAT】A1108 Finding Average (20 分)
1108 Finding Average (20 分) The basic task is simple: given N real numbers, you are supposed to calc ...
- CVE-2021-26119 PHP Smarty 模版沙箱逃逸远程代码执行漏洞
0x00 漏洞介绍 smarty是一个基于PHP开发的PHP模板引擎.它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设 ...
- JavaScripts调用摄像头【MediaDevices.getUserMedia()】
h5调用摄像头(允许自定义界面)[MediaDevices.getUserMedia()] <!DOCTYPE html> <html lang="en"> ...
- Java枚举类在生产环境中的使用方式
前言 Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部 ...
- ApacheCN JavaScript 译文集 20211122 更新
JavaScript 编程精解 中文第三版 零.前言 一.值,类型和运算符 二.程序结构 三.函数 四.数据结构:对象和数组 五.高阶函数 六.对象的秘密 七.项目:机器人 八.Bug 和错误 九.正 ...