使用脚本自动化安装MySQL/MariaDB

这个脚本使用的是MariaDB数据库!!!

#!/bin/bash

#判断系统是否已经安装mariadb数据库软件,若安装则进行提醒,并退出该脚本。
rpm -q mariadb >> /dev/null && echo `rpm -q mariadb` is installed && exit 0
###注意:rpm查询,只能查询以rpm机制安装的软件,以其他方式安装的软件可能查询不到。

#创建数据库程序的用户,并指定其工作目录与登录方式,
#在创建该用户时,系统也会自动创建其所属的同名用户组
useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql

#以下两条指令也可以用来创建指定信息的用户及用户组
##groupadd -r -g 306 mysql
##useradd -r -g 306 -u 306 –m –d /app/data mysql


#切回root用户目录下
cd

#下载mariadb压缩包
wget ftp://172.17.0.1/pub/Sources/6.x86_64/mariadb/mariadb-5.5.57-linux-x86_64.tar.gz

#将其解压缩到指定目录/usr/local(必须解压到次目录!!),解压时最好进入到与该文件同目录的位置
tar -xf /root/mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/

cd /usr/local

#创建软链接
ln -s mariadb-5.5.57-linux-x86_64 mysql

#将 /usr/local/mysql/ 目录的属组设置为 mysql 用户组
chown -R root:mysql /usr/local/mysql/

cd /usr/local/mysql

mkdir /etc/mysql/

#拷贝配置文件样例
cp support-files/my-huge.cnf /etc/mysql/my.cnf

#使用sed直接对/etc/mysql/my.cnf进行编辑
sed -i '/\[mysqld\]/a\datadir\ \=\ \/app\/mysqldb\ninnodb_file_per_table\ \=\ on\nskip_name_resolve\ \=\ on' /etc/mysql/my.cnf
#datadir = /app/data  设置数据存放目录
#innodb_file_per_table = on  设置数据存储引擎
#skip_name_resolve = on 禁止主机名解析

#初始化数据库,创建数据库文件
scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb

#创建mariadb的服务程序
cp support-files/mysql.server /etc/init.d/mysqld

#判断系统版本,以便创建不同的数据库日志文件
if [ `sed -r 's/.* ([0-9]+)\..*/\1/' /etc/centos-release` -eq 7 ]; then
        #以下两条指令是用来创建数据库日志文件的,
        #并将该文件的属主更改为 mysql
        mkdir /var/log/mariadb/
        chown mysql /var/log/mariadb/
        #设置开机自启动
        #开启数据库服务
        systemctl enable mysqld
        systemctl start mysqld
else
        #以下两条指令是用来创建数据库日志文件的,
        #并将该文件的属主更改为 mysql
        touch /var/log/mysqld.log
        chown mysql /var/log/mysqld.log
        #设置开机自启动
        #开启数据库服务
        chkconfig --add mysqld
        service mysqld start
fi


#设置环境变量,并使其生效
echo 'PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

#运行安全初始化脚本
#执行 mysql_secure_installation 指令会设置一下内容
#是否设置数据库管理员root口令,本脚本默认选择设置root口令
#是否禁止root远程登录,本脚本默认选择允许root远程登录
#是否删除anonymous用户帐号,本脚本默认选择删除匿名用户账号
#是否删除test数据库,本脚本默认选择保留test数据库
echo -e "\ny\n123456\n123456\ny\nn\nn\ny" | mysql_secure_installation

#运行mysql服务
mysql -uroot -p
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值