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
最新文章
- godep 包管理工具
- 《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木
- iOS-OC内存管理
- myeclipse9或myeclipse10安装svn的方法
- iOS 语言切换、本地化,国际化
- Android DrawerLayout 高仿QQ5.2双向侧滑菜单
- java配置数据库连接池的方法步骤
- 21.allegro下鼠标形状设置[原创]
- iOS企业应用Profile制作流程
- jQuery点击div其他地方隐藏div
- linux命令之vim使用-(转)vim的保存文件和退出命令
- js - get-the-value-from-the-url-parameter(可以在非模态对话框中使用)
- 关于java reflect
- 【JAVA】类继承对父类静态变量的操作
- Spark算子--filter
- 关于if和else嵌套—蛋疼
- Windows代码,添加一个节,以及RVA跟FOA互相转化,以及内存文件对齐代码.
- Selenium自动化Chrome浏览器 在windows下窗口最大化
- JMeter&#160;配置元件之HTTP&#160;Cookie&#160;Manager&#160;介绍
- crawlspider 多分页处理