shell脚本一键部署mysql数据库简易版

[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!

最近经常要测试泛微ecology9在Centos 7.9部署教程,就用到了mysql8数据库的安装,每次都略麻烦,写了一个shell脚本 基于虚拟机环境下,进行mysql数据库的一键安装脚本;

环境准备:vmware15.0.4,centos7.9,mysql8.0.31

一键安装mysql脚本:

正确的食用教程,把下面的SHELL脚本复制保存为.sh即可;

 #!/bin/bash/

 #定义变量
mysql="ps -ef | grep mysql | grep -v grep | wc -l "
mysqlPID=" ps -ef | grep mysql | grep -v grep | awk '{print $2}' "
#查询检测mysql是否运行,如运行则杀掉进程
if [ "$mysql" = 0 ]; then
    echo "设备上未运行mysql数据库"
fi

if [ "$mysql" = 1 ]; then
    kill -9 $mysqlPID
fi
##### #删除旧版mysql包
rpm -qa | grep mariadb|xargs rpm -e --nodeps >/dev/null 2>&1
rm -rf /usr/bin/mysql
rm -rf /usr/local/mysql
rm -rf /usr/lib/systemd/system/mysql*

#此区域需要根据实际情况进行修改

Path=/test
#指定mysql压缩包解压的目录,与PathNAME1相呼应

PathNAME=/test/mysql-8.0.31-el7-x86_64.tar.gz
#此路径为mysql tar包路径

PathNAME1=/test/mysql-8.0.31-el7-x86_64
#此路径为解压完成的路径

#删除mysql用户和组
userdel -r mysql >/dev/null 2>&1
groupdel mysql   >/dev/null 2>&1

groupadd mysql   >/dev/null 2>&1
#解压mysql安装包
tar -zxf  $PathNAME -C $Path

#将解压的安装包移动到安装目录
mv $PathNAME1  /usr/local/mysql
mkdir /usr/local/mysql/data

#创建mysql用户
useradd -r -g mysql -s /bin/false mysql >  /dev/null 2>&1

#安装目录设置为mysql用户和组所有
chown -R mysql:mysql /usr/local/mysql   > /dev/null 2>&1

#写入配置文件
echo '[mysqld]
##### # 设置3306端口
port=3306
##### # 设置mysql的安装目录
basedir=/usr/local/mysql
##### # 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
##### # 允许最大连接数
max_connections=10000
##### # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
##### # 服务端使用的字符集默认为UTF8
character-set-server=UTF8MB4
##### # 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
##### # 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
##### # 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[client]
##### #设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=UTF8MB4' > /etc/my.cnf

#初始化mysql,需记住初始密码
cd /usr/local/mysql/
./bin/mysqld --initialize --console &>passwd.txt
tem_passwd=$(cat /usr/local/mysql/passwd.txt |grep "temporary"|awk '{print $NF}')
chown -R mysql:mysql /usr/local/mysql
echo "初始密码为:'$tem_passwd'"
echo '初始密码已保存至/root/password.txt中'
echo "$tem_passwd" > /root/password.txt

#将mysql加入系统服务,及使用systemctl管理
echo '[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

PIDFile=/usr/local/mysql/data/mysqld.pid

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0   #systemd的service超时时间设定 0为不限制

# Execute pre and post scripts as root
PermissionsStartOnly=true   #以root权限来启动程序
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid
#注意这里要加上 --daemonize 使进程后台运行

# Use this to switch malloc implementation
#EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 5000

Restart=on-failure
# 故障时重启
RestartPreventExitStatus=1

PrivateTmp=false' > /usr/lib/systemd/system/mysqld.service
#重定向到系统服务目录内

systemctl daemon-reload
#刷新系统服务
systemctl enable mysqld.service --now
#设置mysql开机自启

#设置软连接,可直接命令行mysql进入服务
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#停止正在运行的mysql,重新启动。
systemctl restart mysqld.service

目前脚本内容就是以上部分,下面这部分手动去完成即可!

#输入mysql -u用户名 -p密码 进入mysql数据库中
mysql -uroot -p'hlafnHntA9(b'

#修改mysql默认的root密码
alter user 'root'@'localhost' identified by 'Laoliang.Net';
#添加远程访问用户
CREATE USER 'root'@'%'IDENTIFIED BY 'Laoliang.Net';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
#使用修改后的mysql进入数据库
mysql -uroot -p'Laoliang.Net'

使用新密码登录mysql数据库(Laoliang.Net则为密码)

mysql_shell压缩包文件下载

问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

支付宝赞助
微信赞助

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
意在交流学习,欢迎赞赏评论,如有谬误,请联系指正;转载请注明出处: » shell脚本一键部署mysql数据库简易版

发表回复

本站承接,网站推广(SEM,SEO);软件安装与调试;服务器或网络推荐及配置;APP开发与维护;网站开发修改及维护; 各财务软件安装调试及注册服务(金蝶,用友,管家婆,速达,星宇等);同时也有客户管理系统,人力资源,超市POS,医药管理等;

立即查看 了解详情