先电Openstack 脚本解读(MySQL)

#!/bin/bash
source /etc/xiandian/openrc.sh
#生效环境变量
ping $HOST_IP -c 4 >> /dev/null 2>&1
#数量为4 将标准输出和错误输出重定向到/dev/null中

if [ 0  -ne  $? ]; then
        echo -e "\033[31m Warning\nPlease make sure the network configuration is correct!\033[0m"
        exit 1
fi
如果上一条命令返回值不等于0则执行以下内容
以红色字体向屏幕打印
# check system
sed -i  -e '/server/d' -e "/fudge/d" /etc/ntp.conf
#将/etc/ntp.conf 文件中有server 和fudge的行删除
sed -i  -e "1i server 127.127.1.0" -e "2i fudge 127.127.1.0 stratum 10" /etc/ntp.conf
#在/etc/ntp.conf文件第一行之前添加server 127.127.1.0      在第二行之前添加 fudge 127.127.1.0 stratum 10      
systemctl restart ntpd
systemctl enable ntpd
#重启ntp服务
#设置ntp服务开机自启
yum install mariadb mariadb-server python2-PyMySQL expect mongodb-server mongodb rabbitmq-server memcached python-memcached -y
#安装 mariadb mariadb-server python2-PyMySQL expect mongodb-server mongodb rabbitmq-server memcached python-memcached
sed -i  "/^symbolic-links/a\default-storage-engine = innodb\ninnodb_file_per_table\ncollation-server = utf8_general_ci\ninit-connect = 'SET NAMES utf8'\ncharacter-set-server = utf8\nmax_connections=10000" /etc/my.cnf
#设置数据库默认存储引擎为innodb  数据库的编码格式为utf8  mariadb最大连接数为10000

crudini --set /usr/lib/systemd/system/mariadb.service Service LimitNOFILE 10000
crudini --set /usr/lib/systemd/system/mariadb.service Service LimitNPROC 10000
systemctl daemon-reload
systemctl enable mariadb.service
systemctl restart mariadb.service
#重新载入systemd, 扫描新的或有变的单元
#设置mariadb服务开机自启
#重启mariadb服务

#对数据库初始化和应答
expect -c "
spawn /usr/bin/mysql_secure_installation
expect \"Enter current password for root (enter for none):\"
send \"\r\"
expect \"Set root password?\"
send \"y\r\"
expect \"New password:\"
send \"$DB_PASS\r\"
expect \"Re-enter new password:\"
send \"$DB_PASS\r\"
expect \"Remove anonymous users?\"
send \"y\r\"
expect \"Disallow root login remotely?\"
send \"n\r\"
expect \"Remove test database and access to it?\"
send \"y\r\"
expect \"Reload privilege tables now?\"
send \"y\r\"
expect eof
"
# mongo
sed -i -e '/bind_ip/d' -e 's/#smallfiles.*/smallfiles=true/g' /etc/mongod.conf 
 #删除/etc/mongod.conf 文件中有bind_ip 一行 并将以#smallfiles.开关的一行替换为smallfiles=true

systemctl enable mongod.service
systemctl restart mongod.service
#  设置mogod服务开机自启
#  重启mogod服务    

# rabbitmq
systemctl enable rabbitmq-server.service
systemctl restart rabbitmq-server.service
#设置rabbitmq服务开机自启
#重启rabbitmq服务

rabbitmqctl add_user $RABBIT_USER $RABBIT_PASS
rabbitmqctl set_permissions $RABBIT_USER ".*" ".*" ".*"
#    创建用户 $RABBIT_USER 密码为$RABBIT_PASS
#    对用户授权对本机所有资源有配置,读,写的权限

# memcache
systemctl enable memcached.service
systemctl restart memcached.service
#  设置memcache服务开机自启
#  重启memcache服务

链接: 先电Openstack 脚本解读(环境准备).
链接: 先电Openstack 脚本解读(MySQL).
链接: 先电Openstack 脚本解读(Keystone).
链接: 先电Openstack 脚本解读(Glance).
链接: 先电Openstack 脚本解读(Nova).
链接: 先电Openstack 脚本解读(neutron,gre,vlan,flat).
链接: 先电Openstack 脚本解读(Dashboard).
链接: 先电Openstack 脚本解读(cinder).
链接: 先电Openstack 脚本解读(swift).
链接: 先电Openstack 脚本解读(Trove).
链接: 先电Openstack 脚本解读(Heat).
链接: 先电Openstack 脚本解读(ceilometer).
链接: 先电Openstack 脚本解读(alarm).
链接: 先电Openstack 脚本解读(uninstall-all).
链接: openstack pike 单机 一键安装脚本.

猜你喜欢

转载自blog.csdn.net/weixin_43663238/article/details/106010606
今日推荐