一键部署Mariadb脚本

#!/bin/bash

#定义变量
db_conf=/etc/my.cnf
se_conf=/etc/sysconfig/selinux

#创建mysql用户
useradd mysql -s /sbin/nologin -M

#创建数据库所需目录
mkdir /data/mysql/mysql3306/{data,binlog,logs,tmp} -p

#设置属组和属主
chown -R mysql:mysql /data/mysql/mysql3306

#安装依赖
yum install libaio.x86_64 libaio-devel.x86_64 novacom-server.x86_64 libedit ncurses-compat-libs -y

#解压包到指定目录
tar -zxvf mariadb-10.5.10-linux-systemd-x86_64.tar.gz -C /usr/local/

#创建软连接
cd /usr/local/ && ln -s mariadb-10.5.10-linux-systemd-x86_64/ mysql

#创建隐藏配置文件
cd /usr/local/mysql && touch .my.cnf

#初始化安装
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql3306/data  --defaults-file=./.my.cnf

#修改配置文件
sed -i "s#datadir=.*#datadir=/data/mysql/mysql3306/data#g" ${db_conf}
sed -i "s#socket=.*#socket=/tmp/mysql.sock#g" ${db_conf}

#创建mariadb服务
cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service && systemctl start mariadb

#创建mysql命令软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin/

#安装成功后服务状态显示正常
systemctl status mariadb

#关闭selinux
setenforce 0
sed -i "s#SELINUX=.*#SELINUX=disabled#g" ${se_conf}

#开放防火墙端口
firewall-cmd --zone=public --permanent --add-port=3306/tcp && firewall-cmd --reload

#root用户开放远程连接
mysql -uroot <<EOF
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EOF

#重启mariadb服务
systemctl restart mariadb.service

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个CentOS一键部署OpenStack的Shell脚本,使用该脚本可以方便快速地搭建OpenStack环境: ```bash #!/bin/bash #更新系统 yum update -y #安装epel源 yum install epel-release -y #安装openstack源 yum install centos-release-openstack-ocata -y #安装openstack客户端和python-openstackclient yum install python-openstackclient -y #安装MariaDB数据库 yum install mariadb mariadb-server python2-PyMySQL -y #配置MariaDB数据库 systemctl enable mariadb.service systemctl start mariadb.service mysql_secure_installation #安装rabbitmq消息队列 yum install rabbitmq-server -y #配置rabbitmq消息队列 systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service rabbitmqctl add_user openstack RABBIT_PASS rabbitmqctl set_permissions openstack ".*" ".*" ".*" #安装memcached缓存服务器 yum install memcached python-memcached -y #配置memcached缓存服务器 systemctl enable memcached.service systemctl start memcached.service #安装httpd服务器 yum install httpd mod_wsgi -y #配置httpd服务器 systemctl enable httpd.service systemctl start httpd.service #安装OpenStack Keystone服务 yum install openstack-keystone httpd mod_wsgi -y #配置OpenStack Keystone服务 systemctl enable httpd.service systemctl start httpd.service su -s /bin/sh -c "keystone-manage db_sync" keystone keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone keystone-manage credential_setup --keystone-user keystone --keystone-group keystone keystone-manage bootstrap --bootstrap-password ADMIN_PASS \ --bootstrap-admin-url http://controller:35357/v3/ \ --bootstrap-internal-url http://controller:5000/v3/ \ --bootstrap-public-url http://controller:5000/v3/ \ --bootstrap-region-id RegionOne #重启httpd服务 systemctl restart httpd.service #安装OpenStack Glance服务 yum install openstack-glance -y #配置OpenStack Glance服务 su -s /bin/sh -c "glance-manage db_sync" glance #安装OpenStack Nova服务 yum install openstack-nova-api openstack-nova-conductor \ openstack-nova-console openstack-nova-novncproxy \ openstack-nova-scheduler -y #编辑/etc/nova/nova.conf文件 cat > /etc/nova/nova.conf << EOF [DEFAULT] transport_url = rabbit://openstack:RABBIT_PASS@controller auth_strategy = keystone my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS use_neutron = True firewall_driver = nova.virt.firewall.NoopFirewallDriver [api] auth_strategy = keystone [keystone_authtoken] auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = nova password = NOVA_PASS [vnc] enabled = True vncserver_listen = MANAGEMENT_INTERFACE_IP_ADDRESS vncserver_proxyclient_address = MANAGEMENT_INTERFACE_IP_ADDRESS [glance] api_servers = http://controller:9292 [oslo_concurrency] lock_path = /var/lib/nova/tmp EOF #配置OpenStack Nova服务 su -s /bin/sh -c "nova-manage api_db sync" nova su -s /bin/sh -c "nova-manage db sync" nova #重启OpenStack Nova服务 systemctl enable openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service systemctl start openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service #安装OpenStack Neutron服务 yum install openstack-neutron-linuxbridge ebtables ipset -y #编辑/etc/neutron/neutron.conf文件 cat > /etc/neutron/neutron.conf << EOF [DEFAULT] core_plugin = ml2 service_plugins = router allow_overlapping_ips = True transport_url = rabbit://openstack:RABBIT_PASS@controller auth_strategy = keystone notify_nova_on_port_status_changes = True notify_nova_on_port_data_changes = True [agent] root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf [keystone_authtoken] auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = neutron password = NEUTRON_PASS [database] connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron [oslo_concurrency] lock_path = /var/lib/neutron/tmp EOF #编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件 cat > /etc/neutron/plugins/ml2/linuxbridge_agent.ini << EOF [linux_bridge] physical_interface_mappings = provider:PHYSICAL_INTERFACE_NAME [vxlan] enable_vxlan = False [securitygroup] enable_security_group = True firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver EOF #配置OpenStack Neutron服务 su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron #重启OpenStack Neutron服务 systemctl enable neutron-server.service \ neutron-linuxbridge-agent.service neutron-dhcp-agent.service \ neutron-metadata-agent.service systemctl start neutron-server.service \ neutron-linuxbridge-agent.service neutron-dhcp-agent.service \ neutron-metadata-agent.service #安装OpenStack Horizon服务 yum install openstack-dashboard -y #重启httpd服务 systemctl restart httpd.service ``` 在运行该脚本之前,需要将以下变量修改为您自己的值: - RABBIT_PASS:RabbitMQ的密码 - NOVA_PASS:Nova的密码 - NEUTRON_PASS:Neutron的密码 - NEUTRON_DBPASS:Neutron数据库的密码 - MANAGEMENT_INTERFACE_IP_ADDRESS:管理接口的IP地址 - PHYSICAL_INTERFACE_NAME:物理接口的名称 运行该脚本后,您将得到一个完整的OpenStack环境。但是,在使用OpenStack之前,您还需要进行一些其他的配置和操作,请参考OpenStack官方文档进行操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值