playbook一键源码部署nginx、Mysql主从复制
2020-04-23 10:07
495 查看
注意:playbook格式规范,有些符号在这里打不出来,或是在显示的时候会有所变动,切记要按格式来
playbook一键源码部署nginx
- hosts: webserver
tasks: name: cp nginx.tar.gz
copy: src=/root/nginx-1.17.6.tar.gz dest=/root/ - name: install env
yum: name=openssl-devel,pcre-devel,zlib-devel,gcc,gcc-c++,make state=present - name: uncomepress nginx.tar.gz
unarchive: src=/root/nginx-1.17.6.tar.gz dest=/root/ copy=no - name: make nginx group
group: name=nginx gid=996 - name: make nginx user
user: name=nginx uid=996 group=998 shell=/sbin/nologin create_home=no - name: configure nginx
shell: cd nginx-1.17.6 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install && ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginxctl && nginxctl
playbook一键部署Mysql主从复制
第一种方法(mysql模块)
需要安装MySQL-python
- hosts: Master,Slave
tasks: name: install mariadb MySQL-python
yum: name=mariadb,mariadb-server,MySQL-python state=present - name: start mariadb
service: name=mariadb state=started enabled=yes - mysql_user: user=root password=123 update_password=always
tasks:
-
mysql_user: user=root login_host=localhost login_password=123 name=repl password=123 priv=’.:ALL’ state=present host=’%’
copy: src=/root/.ansible/m/my.cnf dest=/etc/my.cnf
service: name=mariadb state=restarted
tasks:
-
name: vi /etc/my.cnf
copy: src=/root/.ansible/s/my.cnf dest=/etc/my.cnf
service: name=mariadb state=restarted
mysql_replication: login_user=‘root’ login_password=‘123’ mode=“getmaster”
delegate_to: 192.168.70.142
register: master1
mysql_replication: login_user=‘root’ login_password=‘123’ mode=changemaster master_host=‘192.168.70.142’ master_user=‘repl’ master_password=‘123’ master_log_file={{ master1.File }} master_log_pos={{ master1.Position }}
mysql_replication: login_user=‘root’ login_password=‘123’ mode=startslave
第二种方法(shell模块)
- hosts: Master,Slave
tasks: name: install mariadb
yum: name=mariadb,mariadb-server state=present - name: start mariadb
service: name=mariadb state=started enabled=yes - name: make maraidb password
shell: mysqladmin -uroot password 123
tasks:
-
name: make user and give privileges
shell: mysql -uroot -p’123’ -e “create user ‘repl’;grant all privileges on . to ‘repl’@‘192.168.70.131’ identified by ‘123’ with grant option;”
copy: src=/root/.ansible/m/my.cnf dest=/etc/my.cnf
service: name=mariadb state=restarted
tasks:
-
name: copy my.cnf
copy: src=/root/.ansible/s/my.cnf dest=/etc/my.cnf
service: name=mariadb state=restarted
shell: mysql -uroot -p’123’ -e “change master to master_host=‘192.168.70.142’,master_port=3306,master_user=‘repl’,master_password=‘123’,master_log_file=‘master-bin.000001’,master_log_pos=245;start slave;”
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Ansible-playbook自动部署mysql的主从复制读写分离
- mysql 主从复制部署
- 一键安装MySQL 主从复制SHELL脚本
- mysql主从复制与读写分离部署
- 一键部署LNMP(源码安装nginx,yum安装m,p)
- MySQL主从复制部署
- Docker分离部署MySQL、Nginx+Tomcat复制共享
- 阿里云一键部署LNMP(Linux+Nginx+MySQL+PHP)栈
- MySQL 主从复制 + MySQL Router 部署测试
- 一键完成MySQL主从部署.
- MYSQL主从复制部署流程
- 002.MySQL高可用主从复制部署
- MySQL主从复制部署(windows)
- MYSQL主从复制部署MHA自动故障转移
- 企业运维篇——ansible部署mysql主从复制
- MySQL主从复制GTID方式部署
- 用xtrabackup实现mysql的主从复制快速部署【主不锁表】 推荐
- 用xtrabackup实现mysql的主从复制快速部署【主不锁表】
- mysql系列之复制2----主从同步部署
- MySQL 主从复制 + MySQL Router 部署测试