最近正好有空闲时间进行mysql自动安装脚本开发,预计先用shell实现一个版本,后续继续用python改造开发,最终实现python版本的开发。

2019-3-18,完成shell脚本的mysql自动化安装脚本的开发与调试。信息如下:
mysql版本为5.6.43,通过shell函数的方式实现数据安装的2个阶段,再加上一个全局阶段,共3个阶段


1.全局阶段
通过if [ $(id -u) != "0" ]判断当前操作用户是否为root,如不等0,则提示用户使用root用户执行该脚本,实现数据库部分信息采集(使用read -p "(信息):" 变量名称)采集mysql初始化root密码,innodb_buffer_pool_size具体信息(通过获取服务器系统内存信息提示操作者设置小于该内存值的变量,选择是否开始安装
2. 系统初始化阶段
在shell函数中针对服务器系统selinux和ulimit的openfiles进行系统优化。
删除mysql用户及组,find删除mysql相关文件夹,rpm 卸载等
3.数据库安装部分
1)针对/etc/my.cnf旧文件进行备份,使用EOF定制标准化的my.cnf文件输入并替换新文件,以服务器IP用正则获取,后三位组合成该服务器的mysql server id,同时调用之前全局变量中的密码以及innodb_buffer_pool_size变量信息使用。
2)创建mysql用户和组,新建mysql 安装目录并授权mysql用户组权限。
3)mysql_install_db进行初始化安装。并拷贝mysql.server到/etc/init.d/mysqld 使用chkconfig注册服务启动。
4) export刷新mysql命令到环境变量,初始化mysql用户,删除除了root和localhost以外的无效用户并刷新权限,同时授权dba用户权限。