使用ansible实现mysql的主从复制
构建思路:
设定三个模块:
模块一:用于操作两台服务器中相同的内容
模块二:用于操作主库服务器的设定
模块三:用于操作从库服务器的设定
操作环境:
主控制器:172.25.68.1
主库服务器:172.25.68.2
从库服务器:172.25.68.3
进行ansible软件以及依赖性的安装:
Yum install
ansible-2.4.2.0-2.el7.noarch.rpm python-paramiko-2.1.1-4.el7.noarch.rpm
epel-release-7-11.noarch.rpm python-passlib-1.6.5-2.el7.noarch.rpm
mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar sshpass-1.06-2.el7.x86_64.rpm
python2-jmespath-0.9.0-3.el7.noarch.rpm
进行主库和从库服务机器ip 的添加:
Vim /etc/ansible/hosts
进行免密的设定:ssh-keygen
进行ping测试:
进行主服务器和从服务器共同模块的设定:
进行入口的设定:vim /etc/ansible/test.yml
Mkdir -p /etc/ansible/roles/mysql_repl/{file task vars} 进行目录的建立
其中:file 用于存放mysql的压缩包
Tasks 中存放相关的动作
Vars 中存放要操作文件的路径
进行主库服务器模块的设定:
进行入口的设定:vim test1.yml
Mkdir -p /etc/ansible/roles/mysql_master_repl/{file tasks vars}
其中:file 用于存放mysql的配置文件
Tasks 中存放相关的动作
Vars 中存放要操作文件的路径
进行从库服务器模块的设定:
进行入口的设定:vim /etc/ansible/test2.yml
Mkdir -p /etc/ansible/roles/mysql_server_repl/{file tasks vars}
其中:file 用于存放mysql的配置文件
Tasks 中存放相关的动作
Vars 中存放要操作文件的路径
进行执行脚本的编辑:vim /active.sh
进行脚本加执行权限:chmod +x active.sh
进行脚本的执行: ./active.sh
在主库服务器和从库服务器上进行查看和测定:
在主库服务器上进行查询
在从库服务器上进行查看:
在主库服务器上进行数据的插入和在从库上进行数据的查看
在主库上进行数据的插入:
在从库上进行数据的查看: