这个脚本使用的是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