操作步骤 注: 先把selinx和iptables停掉 并确保服务器光驱有光盘并已链接
/etc/init.d/iptables stop ( C6 )
systemctl stop firewalld ( C7 )
setenforce 0 临时关闭selinux
1: 安装 epel源
1:yum -y install lrzsz
2:rz + epel 跟脚本和源数据库二进制包
3:安装
例:rpm -ivh epel-release-latest-6.noarch ( C6 )
2: 安装 ansible
yum -y install ansible
3: 复制hosts文件到/etc/ansible目录下 hosts里的IP可以设成自己服务器的
创建目录 mkdir -pv /etc/ansible/sh 并把脚本 mysql.sh msyql.yml mysql2.sh 复制到当前目录下
4: 创建免密链接
1: ssh-keygen -t rsa -P ‘‘
2: ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] (主机IP)
如果提示命令没有找到安装 yum -y install openssh-clients
3: ansible all -m ping 检查一下是否能正常链接
5: 提供软件包和配置文件
1: 复制二进制数据库包到 /opt 下并重命名为mysql
2: 创建 master slave 目录 mkdir -pv /opt/{master,slave}
3: 移动 my0.cnf并重命名到/opt/master/my.cnf
4: 移动 my1.cnf并重命名到/opt/slave/my.cnf
5: mv my.sh /etc/ansible/sh 增加PATH环境变量
6: 开始安装并启动数据库
1: cd /etc/ansible/sh 目录下(mysql.sh脚本的存放处)
2: 执行 ansible all -m script -a mysql.sh
如果卡着不动 scp /opt/mysql 192.168.11.144:/opt/mysql
scp /opt/mysql 192.168.11.144:/opt/mysql
并把msyql.sh脚本里的scp两行注释掉 (没搞明白为什么 放脚本里就没法传送过去)
执行 ansible-playbook mysql.yml
执行 ansible all -m script -a mysql2.sh
7:检查一下mysql是否起动:
然后就可以配置主从,半同步了。不用每次敲那么命令,而且配置文件里server-id也改好了。
8:主服务器上:master
show master status 记下日志位置跟日志文件名。
好了主服务器到这就OK了!
9: 从服务器配置:
help change master to: 可以用这个来套用,如果记性不好的话。-。-
然后往回主服务器创建库跟表看一下 .
完成,小实验 ,不足的地方还很多,持续优化中。
脚本如下:
原文地址:http://blog.51cto.com/13878077/2151674
时间: 2024-11-05 21:44:48