0
点赞
收藏
分享

微信扫一扫

ansible playbook 安装mysql5.7并配置主从复制

Mhhao 2022-10-19 阅读 115

环境介绍

系统版本 centos7.4

master-192.168.2.14

slave1-192.168.2.15

slave2-192.168.2.16

一安装mysql5.7

1.在master上安装ansible  yum -y install ansible

2.配置三台节点免密互通 ssh-keygen ,三次回车,在/root/.ssh/生成秘钥文件

   ssh-copy-id -i ​​root@192.168.2.14​​

   ssh-copy-id -i ​​root@192.168.2.15​​

   ssh-copy-id -i ​​root@192.168.2.16​​

   在slave1和slave2上执行同样的操作

3.ansible配置文件添加主机组

   cat > /etc/ansible/hosts <<EOF

   192.168.2.14

   192.168.2.15

   192.168.2.16 EOF

4.创建ansible-playbook 目录 mkdir -p /data/playbook

5.编写playbook脚本文件

 cat > /data/playbook/mysql_install.yml <<EOF 

---

# install mysql5.7

- hosts: mha

 remote_user: root

 tasks:

 - name: yum install mysql

   yum: name=mysql-server,mysql-community-server  state=present

 - name: service start mysqld

   service: name=mysqld state=started enabled=yes

需要提前在三台节点上配置好yum

wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm

rpm -ivh mysql57-community-release-el7-10.noarch.rpm

6.检查ansible剧本 ansible-playbook /data/playbook/mysql_install.yml -C

无报错执行即可 ansible-playbook /data/playbook/mysql_install.yml 

7.检查三台机器mysql服务是否启动 ss -ntl |grep 3306

二.配置mysql

1.修改mysql初始密码

grep "password" /var/log/mysql.log

登录mysql 重置密码 SET PASSWORD = PASSWORD('!!YHN6yhn')

2.创建用于复制的授权账号

 GRANT REPLICATION SLAVE ON . TO 'bruceli'@'%' identified by "!!^YHN6yhn"

3.修改mysql-master配置文件

cat>/etc/my.cnf <<

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

server-id=1

log-bin=mysql-bin

binlog-ignore-db = mysql

binlog-ignore-db = sys

binlog-ignore-db = information_schema

binlog-ignore-db = performance_schema

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

4.修改mysql-slave1的配置文件,修改密码同上

在master 配置文件基础上做简单修改

server-id = 2

并增加relay_log = slave-relay-bin

5.mysql-slave2 同上并修改 server-id  = 3

6.登录mysql 查看mysql binlog 位置信息

show master status \G 记录 mysql binlog file文件名称和 position 

mysql-bin.000001log postion=154

7.在slave1,2分别执行 change master to master_host="192.168.2.14"

,master_user='bruceli',master_passwd='!!^YHN6yhn',master_port="3306"

,master_log_file="mysql-bin000001log",master_log_pos="154" ;

8.在slave1,2分别执行  start slave;show slave status \G 

确认slave_io_running = yes 

     slave_sql_running =yes








举报

相关推荐

0 条评论